Condividi tramite


Configurare l'autenticazione in un'app Web di Azure usando Azure AD B2C

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 illustra come aggiungere funzionalità di autenticazione di Azure Active Directory B2C (Azure AD B2C) a un'app Web di Azure. Per altre informazioni, vedere l'articolo Configurare il servizio app o l'app Funzioni di Azure per l'accesso usando un provider OpenID Connect .

Informazioni generali

OpenID Connect (OIDC) è un protocollo di autenticazione basato su OAuth 2.0. Usare OIDC per consentire agli utenti di accedere in modo sicuro a un'app Web di Azure. Il flusso di accesso prevede i passaggi seguenti:

  1. Gli utenti passano all'app Web di Azure e seleziona Accedi.
  2. L'app Web di Azure avvia una richiesta di autenticazione e reindirizza gli utenti ad Azure AD B2C.
  3. Gli utenti si registrano o accedono e reimpostano la password. In alternativa, possono accedere con un account di social networking.
  4. Dopo l'accesso degli utenti, Azure AD B2C restituisce un token ID all'app Web di Azure.
  5. App Web di Azure convalida il token ID, legge le attestazioni e restituisce una pagina sicura agli utenti.

Quando il token ID scade o la sessione dell'app viene invalidata, l'app Web di Azure avvia una nuova richiesta di autenticazione e reindirizza gli utenti ad Azure AD B2C. Se la sessione SSO di Azure AD B2C è attiva, Azure AD B2C rilascia un token di accesso senza chiedere agli utenti di accedere di nuovo. Se la sessione di Azure AD B2C scade o diventa non valida, agli utenti viene richiesto di eseguire di nuovo l'accesso.

Prerequisiti

  • Se non è ancora stata creata un'app, seguire le indicazioni su come creare un'app Web di Azure.

Passaggio 1: Configurare il flusso utente

Quando gli utenti tentano di accedere all'app, l'app avvia una richiesta di autenticazione all'endpoint di autorizzazione tramite un flusso utente. Il flusso utente definisce e controlla l'esperienza utente. Dopo aver completato il flusso utente, Azure AD B2C genera un token e quindi reindirizza gli utenti all'applicazione.

Se non è già stato fatto, creare un flusso utente o un criterio personalizzato. Ripetere i passaggi per creare tre flussi utente separati come indicato di seguito:

  • Flusso utente di accesso e iscrizione combinato, ad esempio susi. Questo flusso utente supporta anche l'esperienza password dimenticata.
  • Flusso utente di modifica del profilo, ad esempio edit_profile.
  • Flusso utente di reimpostazione della password, ad esempio reset_password.

Azure AD B2C antepone B2C_1_ il nome del flusso utente. Ad esempio, susi diventa B2C_1_susi.

Passaggio 2: Registrare un'applicazione Web

Per consentire all'applicazione di accedere con Azure AD B2C, registrare l'app nella directory di Azure AD B2C. La registrazione dell'app stabilisce una relazione di trust tra l'app e Azure AD B2C.

Durante la registrazione dell'app, si specificherà l'URI di reindirizzamento. L'URI di reindirizzamento è l'endpoint a cui gli utenti vengono reindirizzati da Azure AD B2C dopo l'autenticazione con Azure AD B2C. Il processo di registrazione dell'app genera un ID applicazione, noto anche come ID client, che identifica in modo univoco l'app. Dopo la registrazione dell'app, Azure AD B2C usa sia l'ID applicazione che l'URI di reindirizzamento per creare richieste di autenticazione. Si crea anche un segreto client, che l'app usa per acquisire in modo sicuro i token.

Passaggio 2.1: Registrare l'app

Per registrare l'applicazione, seguire questa procedura:

  1. Accedi al portale di Azure.

  2. Se si dispone dell'accesso a più tenant, selezionare l'icona Impostazioni nel menu superiore per passare al tenant di Azure AD B2C dal menu Directory + sottoscrizioni.

  3. Nel portale di Azure cercare e selezionare Azure AD B2C.

  4. Selezionare l'opzione Registrazioni appe quindi selezionare Nuova registrazione.

  5. In Nome immettere un nome per l'applicazione, ad esempio App Web di Azure personale.

  6. In Tipi di account supportati, selezionare Account in qualsiasi provider di identità o directory organizzativa (per autenticare gli utenti con flussi utente).

  7. In URI di reindirizzamento selezionare Web e quindi immettere https://<YOUR_SITE>/.auth/login/aadb2c/callback nella casella URL. Sostituire il <YOUR_SITE> con il nome della tua app Web di Azure. Ad esempio: https://contoso.azurewebsites.net/.auth/login/aadb2c/callback. Se sono stati configurati domini personalizzati di un'app Web di Azure, usare il dominio personalizzato nell'URI di reindirizzamento. Ad esempio, https://www.contoso.com/.auth/login/aadb2c/callback

  8. In Autorizzazioni selezionare la casella di controllo Concedi consenso amministratore a openid e autorizzazioni di accesso offline.

  9. Selezionare Registrazione.

  10. Selezionare Panoramica.

  11. Registrare l'ID applicazione (client) per usarlo in un secondo momento, quando si configura l'applicazione Web.

    Screenshot della pagina Panoramica dell'app Web per registrare l'applicazione Web I D.

Passaggio 2.2: Creare un segreto client

  1. Nella pagina Registrazioni app di Azure AD B2C selezionare l'applicazione creata, ad esempio App Web di Azure personale.
  2. Nel menu a sinistra, in Gestisci, selezionare Certificati & segreti.
  3. Selezionare Nuova chiave segreta del client.
  4. Immettere una descrizione per il segreto client nella casella Descrizione. Ad esempio, clientsecret1.
  5. In Scadenzaselezionare una durata per la quale il segreto è valido, quindi selezionare Aggiungi.
  6. Registrare il valore del segreto da usare nel codice dell'applicazione client. Questo valore del segreto non viene mai più visualizzato dopo aver lasciato questa pagina. Questo valore viene usato come segreto dell'applicazione nel codice dell'applicazione.

Passaggio 3: Configurare l'app Azure

  1. Accedi al portale di Azure.

  2. Se hai accesso a più tenant, seleziona l'icona Impostazioni nel menu in alto della schermata per passare al tenant di Microsoft Entra ID dal menu Directory + sottoscrizioni.

  3. Passare all'app Web di Azure.

  4. Selezionare Autenticazione dal menu a sinistra. Fare clic su Aggiungi provider di identità.

  5. Selezionare OpenID Connect nell'elenco a discesa provider di identità.

  6. Per il nome del provider OpenID , digitare aadb2c.

  7. Per Immissione metadati, seleziona URL documento. Quindi, per l'URL del documento , fornisci il seguente URL:

    https://<TENANT_NAME>.b2clogin.com/<TENANT_NAME>.onmicrosoft.com/<POLICY_NAME>/v2.0/.well-known/openid-configuration
    
    1. Sostituire <TENANT_NAME> con la prima parte del nome del tenant di Azure AD B2C , ad esempio https://contoso.b2clogin.com/contoso.onmicrosoft.com. Se si dispone di un dominio personalizzato configurato, è possibile utilizzare tale dominio personalizzato. 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>/.

    2. Sostituisci i flussi utente o i <POLICY_NAME> criteri personalizzati creati nel passaggio 1.

  8. Per l'ID client , specificare l'ID dell'app Web (client) del passaggio 2.1.

  9. Per il segreto client , specificare il segreto dell'app Web (client) del passaggio 2.2.

    Suggerimento

    Il segreto client verrà archiviato come impostazione dell'app per assicurarsi che i segreti vengano archiviati in modo sicuro. È possibile aggiornare questa impostazione in un secondo momento per usare riferimenti a Key Vault se si desidera gestire il segreto in Azure Key Vault.

  10. Mantieni il resto delle impostazioni con i valori predefiniti.

  11. Premere il pulsante Aggiungi per completare la configurazione del provider di identità.

Passaggio 4: Controllare l'app Web di Azure

  1. Nel browser passare all'app Web di Azure usando https://<app-name>.azurewebsites.net . Sostituire con l'app <app-name> Web di Azure.
  2. Completare il processo di iscrizione o accesso.
  3. Nel browser, passare all'URL https://<app-name>.azurewebsites.net/.auth/me seguente per visualizzare le informazioni sull'utente connesso. Sostituire con l'app <app-name> Web di Azure.

Recuperare i token nel codice dell'app

Dal codice server, i token specifici del provider vengono inseriti nell'intestazione della richiesta, in modo che sia possibile accedervi facilmente. La tabella seguente mostra i nomi di intestazioni token possibili:

Nome dell'intestazione Descrizione
X-MS-CLIENT-PRINCIPAL-NAME Nome visualizzato dell'utente.
X-MS-CLIENT-PRINCIPAL-ID Attestazione secondaria del token ID.
X-MS-CLIENT-PRINCIPAL-IDP Nome del provider di identità, aadb2c.
X-MS-TOKEN-AADB2C-ID-TOKEN Token ID rilasciato da Azure AD B2C

Passaggi successivi