Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
A partire dal 1° maggio 2025, Azure AD B2C non sarà più disponibile per l'acquisto per i nuovi clienti. Altre informazioni sono disponibili nelle domande frequenti.
Questo articolo descrive come abilitare, personalizzare e migliorare l'esperienza di autenticazione di Azure Active Directory B2C (Azure AD B2C) per l'applicazione Web Python.
Prima di iniziare, è importante acquisire familiarità con come configurare l'autenticazione in un'app Web Python di esempio usando Azure AD B2C.
Usare un dominio personalizzato
Usando un dominio personalizzato, è possibile personalizzare completamente l'URL di autenticazione. Dal punto di vista dell'utente, gli utenti rimangono nel dominio durante il processo di autenticazione, anziché essere reindirizzati al nome di dominio di Azure AD B2C b2clogin.com.
Per rimuovere tutti i riferimenti a "b2c" nell'URL, è anche possibile sostituire il nome del tenant B2C, contoso.onmicrosoft.com, nell'URL della richiesta di autenticazione con il GUID dell'ID tenant. Ad esempio, è possibile passare https://fabrikamb2c.b2clogin.com/contoso.onmicrosoft.com/ a https://account.contosobank.co.uk/<tenant ID GUID>/.
Per usare un dominio personalizzato e l'ID tenant nell'URL di autenticazione:
- Seguire le indicazioni in Abilitare domini personalizzati.
- Nel file app_config.py aggiornare il membro della classe con il
authority_templatedominio personalizzato.
Il codice Python seguente mostra le impostazioni dell'app prima della modifica:
authority_template = "https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{user_flow}"
Il codice Python seguente mostra le impostazioni dell'app dopo la modifica:
authority_template = "https://custom.domain.com/00000000-0000-0000-0000-000000000000/{user_flow}"
Prepopolare il nome di accesso
Durante un percorso utente di accesso, l'app potrebbe avere come destinazione un utente specifico. Quando un'app è destinata a un utente, può specificare nella richiesta di autorizzazione il login_hint parametro di query con il nome di accesso dell'utente. Azure AD B2C popola automaticamente il nome di accesso e l'utente deve fornire solo la password.
Per precompilare il nome di accesso, eseguire le operazioni seguenti:
- Se si usa un criterio personalizzato, aggiungere l'attestazione di input necessaria come descritto in Configurare l'accesso diretto.
- Trovare il
initiate_auth_code_flowmetodo e quindi aggiungere illogin_hintparametro con il nome di dominio del provider di identità , ad esempio 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")
Preselezionare un fornitore di identità
Se è stato configurato il percorso di accesso per l'applicazione per includere account di social networking, ad esempio Facebook, LinkedIn o Google, è possibile specificare il domain_hint parametro . Questo parametro di query fornisce un suggerimento ad Azure AD B2C sul provider di identità social che dovrebbe essere usato per l'accesso. Ad esempio, se l'applicazione specifica domain_hint=facebook.com, il flusso di accesso passa direttamente alla pagina di accesso di Facebook.
Per reindirizzare gli utenti a un provider di identità esterno, eseguire le operazioni seguenti:
Controlla il nome di dominio del provider di identità esterno. Per altre informazioni, vedere Reindirizzare l'accesso a un provider di social networking.
Trovare il
initiate_auth_code_flowmetodo e quindi aggiungere ildomain_hintparametro con l'hint di accesso.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")
Passaggi successivi
- Per altre informazioni, vedere Opzioni di configurazione di MSAL per Python.