Dela via


Aktivera autentiseringsalternativ i en Python-webbapp med hjälp av Azure AD B2C

Den här artikeln beskriver hur du aktiverar, anpassar och förbättrar autentiseringsupplevelsen för Azure Active Directory B2C (Azure AD B2C) för python-webbappen.

Innan du börjar är det viktigt att bekanta dig med hur du konfigurerar autentisering i en Python-exempelwebbapp med hjälp av Azure AD B2C.

Använda en anpassad domän

Genom att använda en anpassad domän kan du helt märka autentiserings-URL:en. Från ett användarperspektiv finns användarna kvar på din domän under autentiseringsprocessen, i stället för att omdirigeras till Azure AD B2C b2clogin.com domännamn.

Om du vill ta bort alla referenser till "b2c" i URL:en kan du också ersätta ditt B2C-klientnamn, contoso.onmicrosoft.com, i URL:en för autentiseringsbegäran med ditt klient-ID-GUID. Du kan till exempel ändra https://fabrikamb2c.b2clogin.com/contoso.onmicrosoft.com/ till https://account.contosobank.co.uk/<tenant ID GUID>/.

Så här använder du en anpassad domän och ditt klient-ID i autentiserings-URL:en:

  1. Följ vägledningen i Aktivera anpassade domäner.
  2. I filen app_config.py uppdaterar authority_template du klassmedlemmen med din anpassade domän.

Följande Python-kod visar appinställningarna före ändringen:

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

Följande Python-kod visar appinställningarna efter ändringen:

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

Fyll i inloggningsnamnet i förväg

Under en inloggningsanvändarresa kan din app rikta in sig på en viss användare. När en app riktar sig mot en användare kan den i auktoriseringsbegäran login_hint ange frågeparametern med användarens inloggningsnamn. Azure AD B2C fyller automatiskt i inloggningsnamnet och användaren behöver bara ange lösenordet.

Gör följande för att fylla i inloggningsnamnet i förväg:

  1. Om du använder en anpassad princip lägger du till det nödvändiga indataanspråket enligt beskrivningen i Konfigurera direkt inloggning.
  2. Leta upp initiate_auth_code_flow metoden och lägg sedan till parametern login_hint med identitetsproviderns domännamn (till exempel 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")

Avmarkera en identitetsprovider i förväg

Om du har konfigurerat inloggningsresan för ditt program för att inkludera sociala konton, till exempel Facebook, LinkedIn eller Google, kan du ange parametern domain_hint . Den här frågeparametern ger en ledtråd till Azure AD B2C om den sociala identitetsprovidern som ska användas för inloggning. Om programmet till exempel anger går inloggningsflödet domain_hint=facebook.comdirekt till Facebook-inloggningssidan.

Om du vill omdirigera användare till en extern identitetsprovider gör du följande:

  1. Kontrollera domännamnet för din externa identitetsprovider. Mer information finns i Omdirigera inloggning till en social leverantör.

  2. initiate_auth_code_flow Hitta metoden och lägg sedan till parametern domain_hint med inloggningstipset.

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

Nästa steg