Esercitazione: Registrare un'applicazione Web in Azure Active Directory B2CTutorial: Register a web application in Azure Active Directory B2C

Prima che le applicazioni possano interagire con Azure Active Directory B2C (Azure AD B2C), devono essere registrate in un tenant gestito.Before your applications can interact with Azure Active Directory B2C (Azure AD B2C), they must be registered in a tenant that you manage. Questa esercitazione mostra come registrare un'applicazione Web usando il portale di Azure.This tutorial shows you how to register a web application using the Azure portal.

Per "applicazione Web" si intende a un'applicazione Web tradizionale che esegue la maggior parte della logica dell'applicazione sul server.A "web application" refers to a traditional web application that performs most of the application logic on the server. Può essere creata usando framework come ASP.NET Core, Maven (Java), Flask (Python) ed Express (Node.js).They may be built using frameworks like ASP.NET Core, Maven (Java), Flask (Python), and Express (Node.js).

Importante

Se invece si usa un'applicazione a pagina singola, come Angular, Vue o React, vedere Registrare un'applicazione a pagina singola in Azure Active Directory B2C.If you're using a single-page application ("SPA") instead (e.g. using Angular, Vue, or React), learn how to register a single-page application.

Se invece si usa un'app nativa (ad esempio iOS, Android, per dispositivi mobili e desktop), vedere come registrare un'applicazione client nativa.If you're using a native app instead (e.g. iOS, Android, mobile & desktop), learn how to register a native client application.

PrerequisitiPrerequisites

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.If you don't have an Azure subscription, create a free account before you begin.

Se non è ancora stato creato un tenant Azure AD B2C, crearlo ora.If you haven't already created your own Azure AD B2C Tenant, create one now. Usare un tenant Azure AD B2C esistente.You can use an existing Azure AD B2C tenant.

Registrare un'applicazione WebRegister a web application

Per registrare un'applicazione Web nel tenant di Azure AD B2C, è possibile usare la nuova esperienza unificata Registrazioni app oppure l'esperienza legacy Applicazioni (legacy) .To register a web application in your Azure AD B2C tenant, you can use our new unified App registrations experience or our legacy Applications (Legacy) experience. Altre informazioni sulla nuova esperienza.Learn more about the new experience.

  1. Accedere al portale di Azure.Sign in to the Azure portal.

  2. Selezionare l'icona Directory e sottoscrizione nella barra degli strumenti del portale e quindi la directory contenente il tenant di Azure AD B2C.Select the Directory + Subscription icon in the portal toolbar, and then select the directory that contains your Azure AD B2C tenant.

  3. Nel portale di Azure cercare e selezionare Azure AD B2C.In the Azure portal, search for and select Azure AD B2C.

  4. Selezionare Registrazioni app e quindi Nuova registrazione.Select App registrations, and then select New registration.

  5. Immettere un nome per l'applicazione.Enter a Name for the application. Ad esempio, webapp1.For example, webapp1.

  6. In Tipi di account supportati selezionare Account in qualsiasi provider di identità o directory dell'organizzazione (per l'autenticazione di utenti con flussi utente) .Under Supported account types, select Accounts in any identity provider or organizational directory (for authenticating users with user flows).

  7. In URI di reindirizzamento, selezionare Web, quindi immettere https://jwt.ms nella casella di testo URL.Under Redirect URI, select Web, and then enter https://jwt.ms in the URL text box.

    L'URI di reindirizzamento è l'endpoint a cui l'utente viene inviato dal server di autorizzazione (in questo caso Azure AD B2C) dopo aver completato l'interazione con l'utente e a cui viene inviato un token di accesso o un codice di autorizzazione dopo l'autorizzazione.The redirect URI is the endpoint to which the user is sent by the authorization server (Azure AD B2C, in this case) after completing its interaction with the user, and to which an access token or authorization code is sent upon successful authorization. In un'applicazione di produzione, si tratta in genere di un endpoint accessibile pubblicamente in cui l'app è in esecuzione, ad esempio https://contoso.com/auth-response.In a production application, it's typically a publicly accessible endpoint where your app is running, like https://contoso.com/auth-response. A scopo di test come questa esercitazione, è possibile impostarlo su https://jwt.ms, un'applicazione Web di proprietà di Microsoft che visualizza il contenuto decodificato di un token (il contenuto del token non lascia mai il browser).For testing purposes like this tutorial, you can set it to https://jwt.ms, a Microsoft-owned web application that displays the decoded contents of a token (the contents of the token never leave your browser). Durante lo sviluppo di app, è possibile aggiungere l'endpoint in cui l'applicazione è in ascolto localmente, ad esempio https://localhost:5000.During app development, you might add the endpoint where your application listens locally, like https://localhost:5000. È possibile aggiungere e modificare gli URI di reindirizzamento nelle applicazioni registrate in qualsiasi momento.You can add and modify redirect URIs in your registered applications at any time.

    Agli URL di reindirizzamento si applicano le restrizioni seguenti:The following restrictions apply to redirect URIs:

    • L'URL di risposta deve iniziare con lo schema https.The reply URL must begin with the scheme https.
    • L'URL di risposta rileva la distinzione tra maiuscole e minuscole.The reply URL is case-sensitive. Le maiuscole e le minuscole devono corrispondere a quelle nel percorso URL dell'applicazione in esecuzione.Its case must match the case of the URL path of your running application. Se, ad esempio, l'applicazione include come parte del percorso .../abc/response-oidc, non specificare .../ABC/response-oidc nell'URL di risposta.For example, if your application includes as part of its path .../abc/response-oidc, do not specify .../ABC/response-oidc in the reply URL. Poiché il Web browser rileva la distinzione tra maiuscole e minuscole nei percorsi, è possibile che i cookie associati a .../abc/response-oidc vengano esclusi se reindirizzati all'URL .../ABC/response-oidc senza la corrispondenza tra maiuscole e minuscole.Because the web browser treats paths as case-sensitive, cookies associated with .../abc/response-oidc may be excluded if redirected to the case-mismatched .../ABC/response-oidc URL.
  8. In Autorizzazioni, selezionare la casella di controllo Concedere il consenso amministratore alle autorizzazioni OpenID e offline_access.Under Permissions, select the Grant admin consent to openid and offline_access permissions check box.

  9. Selezionare Registra.Select Register.

Creare un segreto clientCreate a client secret

Per un'applicazione Web è necessario creare un segreto dell'applicazione,For a web application, you need to create an application secret. Il segreto client è anche noto come password dell'applicazione.The client secret is also known as an application password. Il segreto verrà usato dall'applicazione per scambiare un codice di autorizzazione per un token di accesso.The secret will be used by your application to exchange an authorization code for an access token.

  1. Nella pagina Azure AD B2C - Registrazioni app selezionare l'applicazione creata, ad esempio webapp1.In the Azure AD B2C - App registrations page, select the application you created, for example webapp1.
  2. Nel menu a sinistra selezionare Certificati e segreti in Gestisci.In the left menu, under Manage, select Certificates & secrets.
  3. Selezionare Nuovo segreto client.Select New client secret.
  4. Immettere una descrizione per il segreto client nella casella Descrizione.Enter a description for the client secret in the Description box. Ad esempio, clientsecret1.For example, clientsecret1.
  5. In Scadenza selezionare una durata per la quale il segreto è valido, quindi selezionare Aggiungi.Under Expires, select a duration for which the secret is valid, and then select Add.
  6. Registrare il valore del segreto da usare nel codice dell'applicazione client.Record the secret's Value for use in your client application code. Il valore del segreto non viene mai visualizzato di nuovo dopo aver lasciato questa pagina.This secret value is never displayed again after you leave this page. Questo valore viene usato come segreto dell'applicazione nel codice dell'applicazione.You use this value as the application secret in your application's code.

Nota

Per motivi di sicurezza, è possibile eseguire periodicamente il rollup del segreto dell'applicazione o immediatamente in caso di emergenza.For security purposes, you can roll over the application secret periodically, or immediately in case of emergency. Qualsiasi applicazione che si integra con Azure AD B2C deve essere preparata a gestire un evento di rollover segreto, indipendentemente dalla frequenza con cui può verificarsi.Any application that integrates with Azure AD B2C should be prepared to handle a secret rollover event, no matter how frequently it may occur. È possibile impostare due segreti dell'applicazione, consentendo all'applicazione di usare il segreto precedente durante un evento di rotazione del segreto dell'applicazione.You can set two application secrets, allowing your application to keep using the old secret during an application secret rotation event. Per aggiungere un altro segreto client, ripetere i passaggi in questa sezione.To add another client secret, repeat steps in this section.

Abilita concessione implicita token IDEnable ID token implicit grant

La caratteristica che definisce la concessione implicita è che i token, ad esempio token di accesso e ID, vengono restituiti direttamente da Azure AD B2C all'applicazione.The defining characteristic of the implicit grant is that tokens, such as ID and access tokens, are returned directly from Azure AD B2C to the application. Per le app Web, ad esempio ASP.NET Core app Web e https://jwt.ms , che richiedono un token ID direttamente dall'endpoint di autorizzazione, abilitare il flusso di concessione implicita nella registrazione dell'app.For web apps, such as ASP.NET Core web apps and https://jwt.ms, that request an ID token directly from the authorization endpoint, enable the implicit grant flow in the app registration.

  1. Nel menu a sinistra, in Gestisci, selezionare Autenticazione.In the left menu, under Manage, select Authentication.
  2. In concessione implicita selezionare le caselle di controllo token di accesso e token ID .Under Implicit grant, select both the Access tokens and ID tokens check boxes.
  3. Selezionare Salva.Select Save.

Passaggi successiviNext steps

In questo articolo si è appreso come:In this article, you learned how to:

  • Registrare un'applicazione WebRegister a web application
  • Creare un segreto clientCreate a client secret

Successivamente, si apprenderà come creare flussi utente per consentire agli utenti di iscriversi, accedere e gestire i propri profili.Next, learn how to create user flows to enable your users to sign up, sign in, and manage their profiles.