Sdílet prostřednictvím


Povolení možností ověřování ve webové aplikaci v Pythonu pomocí Azure AD B2C

Tento článek popisuje, jak povolit, přizpůsobit a vylepšit prostředí ověřování Azure Active Directory B2C (Azure AD B2C) pro webovou aplikaci v Pythonu.

Než začnete, je důležité se seznámit s tím, jak nakonfigurovat ověřování v ukázkové webové aplikaci v Pythonu pomocí Azure AD B2C.

Použití vlastní domény

Pomocí vlastní domény můžete adresu URL ověřování plně o značit. Z pohledu uživatele zůstanou uživatelé během procesu ověřování ve vaší doméně, místo aby byli přesměrováni na Azure AD B2C b2clogin.com název domény.

Pokud chcete v adrese URL odebrat všechny odkazy na b2c, můžete v adrese URL žádosti o ověření nahradit název tenanta B2C contoso.onmicrosoft.com identifikátorem GUID vašeho tenanta. Můžete například změnit https://fabrikamb2c.b2clogin.com/contoso.onmicrosoft.com/ na https://account.contosobank.co.uk/<tenant ID GUID>/.

Použití vlastní domény a ID tenanta v adrese URL ověřování:

  1. Postupujte podle pokynů v tématu Povolení vlastních domén.
  2. V souboru app_config.py aktualizujte authority_template člena třídy vlastní doménou.

Následující kód Pythonu ukazuje nastavení aplikace před změnou:

authority_template = "https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{user_flow}"

Následující kód Pythonu ukazuje nastavení aplikace po změně:

authority_template = "https://custom.domain.com/00000000-0000-0000-0000-000000000000/{user_flow}" 

Předem vyplní přihlašovací jméno.

Během přihlašovací cesty uživatele může vaše aplikace cílit na konkrétního uživatele. Když aplikace cílí na uživatele, může v žádosti o login_hint autorizaci zadat parametr dotazu s přihlašovacím jménem uživatele. Azure AD B2C automaticky vyplní přihlašovací jméno a uživatel musí zadat jenom heslo.

Pokud chcete přihlašovací jméno předem naplnit, postupujte takto:

  1. Pokud používáte vlastní zásadu, přidejte požadovanou vstupní deklaraci identity, jak je popsáno v tématu Nastavení přímého přihlášení.
  2. Vyhledejte metodu initiate_auth_code_flow a pak přidejte login_hint parametr s názvem domény zprostředkovatele identity (například facebook.com).
def _build_auth_code_flow(authority=None, scopes=None):
    return _build_msal_app(authority=authority).initiate_auth_code_flow(
        scopes or [],
        redirect_uri=url_for("authorized", _external=True),
        login_hint="bob@contoso.com")

Předběžný výběr zprostředkovatele identity

Pokud jste nakonfigurovali přihlašovací cestu pro vaši aplikaci tak, aby zahrnovala účty sociálních sítí, jako je Facebook, LinkedIn nebo Google, můžete zadat domain_hint parametr . Tento parametr dotazu poskytuje nápovědu k Azure AD B2C o zprostředkovateli sociální identity, který by se měl použít pro přihlášení. Pokud například aplikace zadá domain_hint=facebook.com, tok přihlášení přejde přímo na přihlašovací stránku Facebooku.

Pokud chcete uživatele přesměrovat na externího zprostředkovatele identity, postupujte takto:

  1. Zkontrolujte název domény externího zprostředkovatele identity. Další informace najdete v tématu Přesměrování přihlášení k poskytovateli sociálních sítí.

  2. Vyhledejte metodu initiate_auth_code_flow a pak přidejte domain_hint parametr s nápovědou k přihlášení.

    def _build_auth_code_flow(authority=None, scopes=None):
        return _build_msal_app(authority=authority).initiate_auth_code_flow(
            scopes or [],
            redirect_uri=url_for("authorized", _external=True),
            domain_hint="facebook.com")
    

Další kroky