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:
- Följ vägledningen i Aktivera anpassade domäner.
- 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:
- Om du använder en anpassad princip lägger du till det nödvändiga indataanspråket enligt beskrivningen i Konfigurera direkt inloggning.
- Leta upp
initiate_auth_code_flow
metoden och lägg sedan till parameternlogin_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.com
direkt till Facebook-inloggningssidan.
Om du vill omdirigera användare till en extern identitetsprovider gör du följande:
Kontrollera domännamnet för din externa identitetsprovider. Mer information finns i Omdirigera inloggning till en social leverantör.
initiate_auth_code_flow
Hitta metoden och lägg sedan till parameterndomain_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
- Mer information finns i MSAL för Python-konfigurationsalternativ.