Verificatieopties inschakelen in een Python-web-app met behulp van Azure AD B2C

In dit artikel wordt beschreven hoe u de verificatie-ervaring van Azure Active Directory B2C (Azure AD B2C) voor uw Python-webtoepassing inschakelt, aanpast en verbetert.

Voordat u begint, is het belangrijk om vertrouwd te raken met het configureren van verificatie in een python-voorbeeld-web-app met behulp van Azure AD B2C.

Een aangepast domein gebruiken

Met behulp van een aangepast domein kunt u de verificatie-URL volledig aanpassen aan uw merknaam. Voor gebruikers lijkt het alsof ze tijdens het verificatieproces op uw domein blijven, in plaats van dat ze worden omgeleid naar de Azure AD B2C-domeinnaam b2clogin.com.

Als u alle verwijzingen naar 'b2c' in de URL wilt verwijderen, kunt u ook de naam van uw B2C-tenant (contoso.onmicrosoft.com) in de URL van de verificatieaanvraag vervangen door de GUID van uw tenant-id. U kunt https://fabrikamb2c.b2clogin.com/contoso.onmicrosoft.com/ bijvoorbeeld wijzigen in https://account.contosobank.co.uk/<tenant ID GUID>/.

Een aangepast domein en uw tenant-id gebruiken in de verificatie-URL:

  1. Volg de richtlijnen in Aangepaste domeinen inschakelen.
  2. Werk in het bestand app_config.py het authority_template klasselid bij met uw aangepaste domein.

De volgende Python-code toont de app-instellingen vóór de wijziging:

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

De volgende Python-code toont de app-instellingen na de wijziging:

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

De aanmeldingsnaam vooraf invullen

Tijdens een gebruikersbeleving voor aanmelden kan uw app zich op een specifieke gebruiker richten. Wanneer een app zich op een gebruiker richt, geeft de app in de autorisatieaanvraag mogelijk de queryparameter login_hint op met de aanmeldingsnaam van de gebruiker. Azure AD B2C vult automatisch de aanmeldingsnaam in en de gebruiker hoeft alleen het wachtwoord op te geven.

Ga als volgt te werk om de aanmeldingsnaam vooraf in te vullen:

  1. Als u een aangepast beleid gebruikt, voegt u de vereiste invoerclaim toe, zoals beschreven in Directe aanmelding instellen.
  2. Zoek de initiate_auth_code_flow methode en voeg vervolgens de login_hint parameter toe met de domeinnaam van de id-provider (bijvoorbeeld 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")

Een id-provider vooraf selecteren

Als u socialemedia-accounts, zoals Facebook, LinkedIn en Google, in de aanmeldbeleving voor uw toepassing hebt geconfigureerd, kunt u de parameter domain_hint opgeven. Deze queryparameter biedt een hint naar Azure AD B2C over de id-provider voor sociale media die moet worden gebruikt voor aanmelden. Als de toepassing bijvoorbeeld domain_hint=facebook.com opgeeft, leidt de aanmeldingsstroom rechtstreeks naar de aanmeldingspagina van Facebook.

Ga als volgt te werk om gebruikers om te leiden naar een externe id-provider:

  1. Controleer de domeinnaam van de externe id-provider. Zie Aanmelden omleiden naar een sociale provider voor meer informatie.

  2. Zoek de initiate_auth_code_flow methode en voeg vervolgens de domain_hint parameter toe met de aanmeldingshint.

    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")
    

Volgende stappen