Esercitazione: Creare flussi utente e criteri personalizzati in Azure Active Directory B2C

Prima di iniziare, usare il selettore Scegli un tipo di criterio per scegliere il tipo di criterio che si sta configurando. Azure Active Directory B2C offre due metodi per definire il modo in cui gli utenti interagiscono con le applicazioni: tramite flussi utente predefiniti o tramite criteri personalizzati completamente configurabili. I passaggi necessari in questo articolo sono diversi per ogni metodo.

Nelle applicazioni possono essere presenti flussi utente che consentono agli utenti di effettuare l'iscrizione, accedere o gestire il proprio profilo. È possibile creare più flussi utente di tipi diversi nel proprio tenant di Azure Active Directory B2C (Azure AD B2C) e usarli nelle applicazioni in base alle esigenze. I flussi utente possono essere usati per più applicazioni.

Un flusso utente consente di determinare come gli utenti interagiscono con l'applicazione quando eseguono operazioni come l'accesso, l'iscrizione, la modifica di un profilo o la reimpostazione di una password. In questo articolo vengono illustrate le operazioni seguenti:

I criteri personalizzati sono file di configurazione che definiscono il comportamento del tenant di Azure Active Directory B2C (Azure AD B2C). In questo articolo vengono illustrate le operazioni seguenti:

  • Creare un flusso utente di iscrizione e accesso
  • Abilitare la reimpostazione self-service delle password
  • Creare un flusso utente di modifica del profilo

Importante

Il modo in cui si fa riferimento alle versioni dei flussi utente è stato cambiato. In precedenza, venivano offerte le versioni V1 (pronte per l'ambiente di produzione) e le versioni V 1.1 e V2 (anteprima). A questo punto, sono stati consolidati i flussi utente in due versioni: flussi utente consigliati con le funzionalità più recenti e flussi utente Standard (legacy). Tutti i flussi utente di anteprima legacy (V1.1 e V2) sono deprecati. Per informazioni dettagliate, vedere Versioni dei flussi utente in Azure AD B2C. Queste modifiche si applicano solo al cloud pubblico di Azure. Altri ambienti continueranno a usare il controllo delle versioni del flusso utente legacy.

Prerequisiti

Creare un flusso utente di iscrizione e accesso

Il flusso utente di iscrizione e accesso consente di gestire le esperienze di iscrizione e accesso tramite una singola configurazione. Gli utenti dell'applicazione vengono indirizzati sul percorso corretto a seconda del contesto.

  1. Accedi al portale di Azure.

  2. Se si ha accesso a più tenant, selezionare l'icona Impostazioni nel menu in alto per passare al tenant di Azure AD B2C dal menu Directory e sottoscrizioni.

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

  4. In Criteri selezionare Flussi utente e quindi Nuovo flusso utente.

    User flows page in portal with New user flow button highlighted

  5. Nella pagina Crea un flusso utente selezionare il flusso utente Iscrizione e accesso.

    Select a user flow page with Sign-up and sign-in flow highlighted

  6. In Selezionare una versioneselezionare Consigliata, quindi selezionare Crea. Per altre informazioni sulle versioni dei flussi utente, vedere qui.

    Create user flow page in Azure portal with properties highlighted

  7. Immettere un nome per il flusso utente. Ad esempio, signupsignin1.

  8. Per Provider di identità selezionare Iscrizione posta elettronica.

  9. Per Attributi utente e attestazioni di token, scegliere le attestazioni e gli attributi da raccogliere e inviare dall'utente durante l'iscrizione. Ad esempio, selezionare Mostra più e quindi scegliere gli attributi e le attestazioni per Paese/Area geografica, Nome visualizzato e Codice postale. Seleziona OK.

    Attributes and claims selection page with three claims selected

  10. Selezionare Crea per aggiungere il flusso utente. Un prefisso di B2C_1_ viene automaticamente anteporto al nome.

Testare il flusso utente

  1. Selezionare il flusso utente creato per aprire la relativa pagina di panoramica.

  2. Nella parte superiore della pagina di panoramica del flusso utente selezionare Esegui flusso utente. Viene aperto un riquadro a destra della pagina.

  3. In Applicazione selezionare l'applicazione Web da testare, ad esempio quella denominata webapp1. L'URL di risposta dovrebbe mostrare https://jwt.ms.

  4. Selezionare Esegui flusso utente e quindi selezionare Iscriviti ora.

    Run user flow page in portal with Run user flow button highlighted

  5. Immettere un indirizzo di posta elettronica valido, selezionare Invia codice di verifica, immettere il codice di verifica ricevuto e quindi selezionare Verifica codice.

  6. Immettere una nuova password e confermarla.

  7. Selezionare il paese e l'area geografica, immettere il nome che si vuole visualizzare, immettere un codice postale e quindi selezionare Crea. Il token viene restituito a https://jwt.ms e dovrebbe essere visualizzato.

  8. Ora si può eseguire di nuovo il flusso utente e dovrebbe essere possibile accedere con l'account creato. Il token restituito include le attestazioni selezionate di paese/area geografica, nome e codice postale.

Nota

L'esperienza "Esegui il flusso utente" non è attualmente compatibile con l'URL di risposta di tipo applicazione a pagina singola con il flusso di codice di autorizzazione. Per usare l'esperienza "Esegui il flusso utente" con questi tipi di app, registrare un URL di risposta di tipo "Web" e abilitare il flusso implicito come descritto qui.

Abilitare la reimpostazione self-service delle password

Per abilitare la reimpostazione della password self-service per il flusso utente di iscrizione o accesso:

  1. Selezionare il flusso utente di iscrizione o accesso creato.
  2. In Impostazioni nel menu a sinistra selezionare Proprietà.
  3. In Configurazione password selezionare Reimpostazione password self-service.
  4. Seleziona Salva.

Testare il flusso utente

  1. Selezionare il flusso utente creato per aprire la relativa pagina di panoramica, quindi selezionare Esegui il flusso utente.
  2. In Applicazione selezionare l'applicazione Web da testare, ad esempio quella denominata webapp1. L'URL di risposta dovrebbe mostrare https://jwt.ms.
  3. Seleziona Esegui il flusso utente.
  4. Nella pagina di iscrizione o accesso selezionare Dimenticata la password?
  5. Verificare l'indirizzo di posta elettronica dell'account creato in precedenza e quindi selezionare Continua.
  6. Ora è possibile modificare la password per l'utente. Cambiare la password e selezionare Continua. Il token viene restituito a https://jwt.ms e dovrebbe essere visualizzato.

Creare un flusso utente di modifica del profilo

Se si vuole abilitare nell'applicazione la modifica del profilo da parte degli utenti, usare un flusso utente di modifica del profilo.

  1. Nel menu della pagina di panoramica del tenant Azure AD B2C selezionare Flussi utente e quindi Nuovo flusso utente.
  2. Nella pagina Crea un flusso utente selezionare il flusso utente Modifica del profilo.
  3. In Selezionare una versioneselezionare Consigliata, quindi selezionare Crea.
  4. Immettere un nome per il flusso utente. Ad esempio, profileediting1.
  5. In Provider di identità, in Account locali selezionare Iscrizione tramite posta elettronica.
  6. Per Attributi utente scegliere gli attributi che vuole che il cliente possa modificate nel proprio profilo. Ad esempio, selezionare Mostra più e quindi scegliere gli attributi e le attestazioni per Nome visualizzato e Posizione. Seleziona OK.
  7. Selezionare Crea per aggiungere il flusso utente. Al nome viene aggiunto automaticamente un prefisso di B2C_1_ .

Testare il flusso utente

  1. Selezionare il flusso utente creato per aprire la relativa pagina di panoramica.
  2. Nella parte superiore della pagina di panoramica del flusso utente selezionare Esegui flusso utente. Viene aperto un riquadro a destra della pagina.
  3. In Applicazione selezionare l'applicazione Web da testare, ad esempio quella denominata webapp1. L'URL di risposta dovrebbe mostrare https://jwt.ms.
  4. Selezionare Esegui flusso utente e quindi accedere con l'account creato in precedenza.
  5. A questo punto si ha la possibilità di modificare il nome visualizzato e la posizione dell'utente. Seleziona Continua. Il token viene restituito a https://jwt.ms e dovrebbe essere visualizzato.

Suggerimento

Questo articolo illustra come configurare manualmente il tenant. È possibile automatizzare l'intero processo di questo articolo. L'automazione distribuirà il pacchetto iniziale Azure AD B2C SocialAndLocalAccountsWithMFA, che fornirà percorsi di iscrizione e accesso, reimpostazione della password e modifica del profilo. Per automatizzare la procedura dettagliata seguente, visitare l'app di installazione di IEF e seguire le istruzioni.

Aggiungere chiavi di firma e crittografia per le applicazioni Identity Experience Framework

  1. Accedi al portale di Azure.
  2. Se si ha accesso a più tenant, selezionare l'icona Impostazioni nel menu in alto per passare al tenant di Azure AD B2C dal menu Directory e sottoscrizioni.
  3. Nel portale di Azure cercare e selezionare Azure AD B2C.
  4. Nella pagina Panoramica, nella sezione Criteri, selezionare Framework dell'esperienza di gestione delle identità.

Creazione della chiave di firma

  1. Selezionare Chiavi dei criteri e quindi selezionare Aggiungi.
  2. Per Opzioni scegliere Generate.
  3. In Nome immettere TokenSigningKeyContainer. È possibile che il prefisso B2C_1A_ venga aggiunto automaticamente.
  4. Per Tipo di chiave selezionare RSA.
  5. Per Uso chiave selezionare Firma.
  6. Seleziona Crea.

Creazione della chiave di crittografia

  1. Selezionare Chiavi dei criteri e quindi selezionare Aggiungi.
  2. Per Opzioni scegliere Generate.
  3. In Nome immettere TokenEncryptionKeyContainer. È possibile che il prefisso B2C_1A_ venga aggiunto automaticamente.
  4. Per Tipo di chiave selezionare RSA.
  5. In Uso chiaveselezionare Crittografia.
  6. Seleziona Crea.

Registrare le applicazioni del framework dell'esperienza di gestione delle identità

Azure AD B2C richiede di registrare due applicazioni usate per iscriversi e accedere agli utenti con account locali: IdentityExperienceFramework, un'API Web e ProxyIdentityExperienceFramework, un'app nativa con autorizzazione delegata all'app IdentityExperienceFramework. Gli utenti possono iscriversi con un indirizzo di posta elettronica o un nome utente e una password per accedere alle applicazioni registrate dal tenant, che crea un "account locale". Gli account locali esistono solo nel tenant di Azure AD B2C.

È necessario registrare queste due applicazioni nel tenant di Azure AD B2C una sola volta.

Registrare l'applicazione IdentityExperienceFramework

Per registrare un'applicazione nel tenant di Azure AD B2C, è possibile usare l'esperienza di Registrazioni app.

  1. Selezionare Registrazioni app e quindi Nuova registrazione.
  2. Per Nome inserisci IdentityExperienceFramework.
  3. In Tipi di account supportati selezionare Account solo in questa directory organizzativa.
  4. In URI di reindirizzamento selezionare Web e quindi immettere https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com, dove your-tenant-name è il nome di dominio del tenant di Azure AD B2C.
  5. In Autorizzazioni, selezionare la casella di controllo Concedere il consenso amministratore alle autorizzazioni OpenID e offline_access.
  6. Selezionare Registra.
  7. Prendere nota del valore di ID applicazione (client), che sarà necessario in un passaggio successivo.

Esporre quindi l'API aggiungendo un ambito:

  1. Nel menu a sinistra, in Gestisci, selezionare Esporre un'API.
  2. Selezionare Aggiungi un ambito e quindi Salva e continua per accettare l'URI dell'ID applicazione predefinito.
  3. Immettere i valori seguenti per creare un ambito che consenta l'esecuzione di criteri personalizzati nel tenant di Azure AD B2C:
    • Nome ambito: user_impersonation
    • Nome visualizzato per il consenso amministratore: Access IdentityExperienceFramework
    • Descrizione del consenso amministratore: Allow the application to access IdentityExperienceFramework on behalf of the signed-in user.
  4. Selezionare Aggiungi ambito

Registrare l'applicazione ProxyIdentityExperienceFramework

  1. Selezionare Registrazioni app e quindi Nuova registrazione.
  2. Per Nome inserisci ProxyIdentityExperienceFramework.
  3. In Tipi di account supportati selezionare Account solo in questa directory organizzativa.
  4. In URI di reindirizzamento usare l'elenco a discesa per selezionare Client pubblico/nativo (desktop per dispositivi mobili).&
  5. In URI di reindirizzamento immettere myapp://auth.
  6. In Autorizzazioni, selezionare la casella di controllo Concedere il consenso amministratore alle autorizzazioni OpenID e offline_access.
  7. Selezionare Registra.
  8. Prendere nota del valore di ID applicazione (client), che sarà necessario in un passaggio successivo.

Specificare quindi che l'applicazione deve essere considerata come un client pubblico:

  1. Nel menu a sinistra, in Gestisci, selezionare Autenticazione.
  2. In Impostazioni avanzate, nella sezione Consenti flussi client pubblici impostare Abilita i flussi per dispositivi mobili e desktop seguenti su .
  3. Seleziona Salva.
  4. Assicurarsi che "allowPublicClient": true sia impostato nel manifesto dell'applicazione:
    1. Nel menu a sinistra, in Gestisci, selezionare Manifesto per aprire il manifesto dell'applicazione.
    2. Trovare la chiave allowPublicClient e verificare che il relativo valore sia impostato su true.

È ora necessario concedere le autorizzazioni all'ambito dell'API esposto in precedenza nella registrazione di IdentityExperienceFramework:

  1. Nel menu a sinistra, in Gestisci, selezionare Autorizzazioni API.
  2. In Autorizzazioni configurate selezionare Aggiungi un'autorizzazione.
  3. Selezionare la scheda Le mie API e quindi selezionare l'applicazione IdentityExperienceFramework.
  4. In Autorizzazione selezionare l'ambito user_impersonation definito in precedenza.
  5. Selezionare Aggiungi autorizzazioni. Come indicato, attendere alcuni minuti prima di procedere con il passaggio successivo.
  6. Selezionare Concedi consenso amministratore per< il nome del tenant).>
  7. Selezionare .
  8. Selezionare Aggiorna e quindi verificare che "Concesso per ..." viene visualizzato in Stato per l'ambito.

Pacchetto Starter per i criteri personalizzati

I criteri personalizzati sono costituiti da un set di file XML che viene caricato nel tenant di Azure AD B2C per definire i profili tecnici e i percorsi utente. Per ridurre i tempi, sono già disponibili pacchetti Starter con alcuni criteri predefiniti. Ogni pacchetto Starter contiene il numero minimo di profili tecnici e percorsi utente necessario per conseguire gli scenari descritti:

  • LocalAccounts - Consente l'uso solo di account locali.
  • SocialAccounts - Consente l'uso solo di account di social networking (o federati).
  • SocialAndLocalAccounts - Consente sia l'uso di account locali che di account di social networking.
  • SocialAndLocalAccountsWithMFA - Consente l'uso di opzioni di social networking, locali e di autenticazione a più fattori.

Ogni pacchetto Starter contiene:

  • File di base - Sono necessarie alcune modifiche alla configurazione di base. Esempio: TrustFrameworkBase.xml
  • File di localizzazione: file in cui vengono apportate modifiche di localizzazione. Esempio: TrustFrameworkLocalization.xml
  • Extension file - Questo è il file in cui deve essere apportata la maggior parte delle modifiche di configurazione. Esempio: TrustFrameworkExtensions.xml
  • File relying party - File di attività specifiche chiamati dall'applicazione. Esempi: SignUpOrSignin.xml, ProfileEdit.xml, PasswordReset.xml

In questo articolo si modificheranno i file dei criteri personalizzati XML presenti nel pacchetto Starter SocialAndLocalAccounts. Se occorre un editor XML, provare Visual Studio Code, un editor multipiattaforma leggero.

Ottenere il pacchetto Starter

Ottenere i pacchetti Starter dei criteri personalizzati da GitHub e aggiornare quindi i file XML del pacchetto Starter SocialAndLocalAccounts con il nome del tenant di Azure AD B2C.

  1. È possibile scaricare il file ZIP o clonare il repository:

    git clone https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack
    
  2. In tutti i file nella directory SocialAndLocalAccounts sostituire la stringa yourtenant con il nome del tenant di Azure AD B2C.

    Se, ad esempio, il nome del tenant B2C è contosotenant, tutte le istanze di yourtenant.onmicrosoft.com diventeranno contosotenant.onmicrosoft.com.

Aggiungere gli ID dell'applicazione al criterio personalizzato

Aggiungere gli ID delle applicazioni al file delle estensioni TrustFrameworkExtensions.xml.

  1. Aprire SocialAndLocalAccounts/TrustFrameworkExtensions.xml e trovare l'elemento <TechnicalProfile Id="login-NonInteractive">.
  2. Sostituire entrambe le istanze di IdentityExperienceFrameworkAppId con l'ID dell'applicazione IdentityExperienceFramework creata in precedenza.
  3. Sostituire entrambe le istanze di ProxyIdentityExperienceFrameworkAppId con l'ID dell'applicazione ProxyIdentityExperienceFramework creata in precedenza.
  4. Salva il file.

Aggiungere Facebook come provider di identità

Il pacchetto iniziale SocialAndLocalAccounts include l'accesso social di Facebook. Facebook non è necessario per l'uso di criteri personalizzati, ma viene usato qui per dimostrare come è possibile abilitare l'accesso social federato in un criterio personalizzato. Se non è necessario abilitare l'accesso di social networking federato, usare invece lo starter pack LocalAccounts e ignorare la sezione Aggiungi Facebook come provider di identità.

Creare un'applicazione Facebook

Usare i passaggi descritti in Creare un'applicazione Facebook per ottenere l'ID app Facebook e il segreto dell'app. Ignorare i prerequisiti e il resto dei passaggi descritti nell'articolo Configurare l'iscrizione e accedere con un account Facebook.

Creazione della chiave Facebook

Aggiungere la Chiave privata app dell'applicazione Facebook come chiave dei criteri. È possibile usare la chiave privata dell'applicazione creata nell'ambito dei prerequisiti di questo articolo.

  1. Accedi al portale di Azure.
  2. Se si ha accesso a più tenant, selezionare l'icona Impostazioni nel menu in alto per passare al tenant di Azure AD B2C dal menu Directory e sottoscrizioni.
  3. Nel portale di Azure cercare e selezionare Azure AD B2C.
  4. Nella pagina Panoramica, nella sezione Criteri, selezionare Framework dell'esperienza di gestione delle identità.
  5. Selezionare Chiavi dei criteri e quindi selezionare Aggiungi.
  6. Per Opzioni scegliere Manual.
  7. Per Nome inserisci FacebookSecret. È possibile che il prefisso B2C_1A_ venga aggiunto automaticamente.
  8. In Segreto immettere la Chiave privata app dell'applicazione Facebook da developers.facebook.com. Questo valore è la chiave privata, non l'ID applicazione.
  9. Per Uso chiave selezionare Firma.
  10. Seleziona Crea.

Aggiornare TrustFrameworkExtensions.xml nel pacchetto di avvio dei criteri personalizzati

SocialAndLocalAccounts/TrustFrameworkExtensions.xml Nel file sostituire il valore di client_id con l'ID applicazione Facebook e salvare le modifiche.

<TechnicalProfile Id="Facebook-OAUTH">
  <Metadata>
  <!--Replace the value of client_id in this technical profile with the Facebook app ID"-->
    <Item Key="client_id">00000000000000</Item>

Caricare i criteri

  1. Selezionare la voce di menu Identity Experience Framework nel tenant B2C nel portale di Azure.
  2. Selezionare Carica criteri personalizzati.
  3. In questo ordine, caricare i file dei criteri:
    1. TrustFrameworkBase.xml
    2. TrustFrameworkLocalization.xml
    3. TrustFrameworkExtensions.xml
    4. SignUpOrSignin.xml
    5. ProfileEdit.xml
    6. PasswordReset.xml

Mentre si caricano i file, Azure aggiunge il prefisso B2C_1A_ a ognuno di essi.

Suggerimento

Se l'editor XML in uso supporta la convalida, convalidare i file rispetto allo schema XML TrustFrameworkPolicy_0.3.0.0.xsd che si trova nella directory radice del pacchetto Starter. La convalida dello schema XML identifica gli errori prima del caricamento.

Testare i criteri personalizzati

  1. In Criteri personalizzati selezionare B2C_1A_signup_signin.
  2. Per Selezionare l'applicazione nella pagina di panoramica dei criteri personalizzati, selezionare l'applicazione Web da testare, ad esempio quella denominata webapp1.
  3. Verificare che l'URL di risposta sia https://jwt.ms.
  4. Selezionare Esegui ora.
  5. Iscriversi usando un indirizzo di posta elettronica.
  6. Selezionare di nuovo Esegui adesso.
  7. Accedere con lo stesso account per verificare che la configurazione sia corretta.
  8. Selezionare Esegui di nuovo e selezionare Facebook per accedere con Facebook e testare i criteri personalizzati.

Passaggi successivi

In questo articolo si è appreso come:

  • Creare un flusso utente di iscrizione e accesso
  • Creare un flusso utente di modifica del profilo
  • Creare un flusso utente di reimpostazione delle password

Informazioni su come usare Azure AD B2C per l'accesso e l'iscrizione degli utenti in un'applicazione. Seguire le app di esempio collegate di seguito:

Per altre informazioni, vedere la serie di approfondimenti sull'architettura di Azure AD B2C.