Guida introduttiva: Effettuare l'accesso degli utenti in un'app web di esempio
Articolo
In questa guida introduttiva, si utilizza un'app web di esempio per illustrare come far accedere gli utenti e chiamare l'API Microsoft Graph nel tenant del tuo ambiente lavorativo. L'app di esempio usa Microsoft Authentication Library per gestire l'autenticazione.
Prima di iniziare, usa il selettore Scegliere un tipo di tenant nella parte superiore di questa pagina per selezionare il tipo di tenant. Microsoft Entra ID offre due configurazioni di tenant, forza lavoro e esterna. Una configurazione del tenant di forza lavoro è destinata ai dipendenti, alle app interne e ad altre risorse organizzative. Un tenant esterno è destinato alle app rivolte ai clienti.
Per consentire all'applicazione di accedere agli utenti, è necessario che Microsoft Entra ID sia a conoscenza dell'applicazione creata. La registrazione dell'app stabilisce una relazione di trust tra l'app e Microsoft Entra. Quando si registra un'applicazione, l'ID esterno genera un identificatore univoco noto come ID applicazione (client) , un valore usato per identificare l'app durante la creazione di richieste di autenticazione.
Per completare la registrazione, specificare un nome dell'applicazione e specificare i tipi di account supportati. Dopo la registrazione, l'applicazione panoramica riquadro visualizza gli identificatori necessari nel codice sorgente dell'applicazione.
Accedere all'interfaccia di amministrazione di Microsoft Entra.
Se si ha accesso a più tenant, utilizzare l'icona impostazioni nel menu in alto per passare al tenant in cui si desidera registrare l'applicazione, a partire dal menu Directory + sottoscrizioni.
Passare a Identity>Applications>App registrations, selezionare Nuova registrazione.
Immettere un Nome per l'applicazione, ad esempio identity-client-web-app.
Per Tipi di account supportati, selezionare Account in questa directory organizzativa solo. Per informazioni sui diversi tipi di account, selezionare l'opzione Aiutami a scegliere.
Selezionare Registra.
Al termine della registrazione, viene visualizzato il riquadro Panoramica dell'applicazione. Registrare l'ID Directory (tenant) e l'ID Applicazione (cliente) da usare nel codice sorgente dell'applicazione.
Una piattaforma specifica il tipo di applicazione che si vuole integrare. Un URI di reindirizzamento è il percorso in cui il server di autenticazione di Identity Platform invia l'utente dopo aver autorizzato e concesso i token di sicurezza.
Per accedere a un utente, l'applicazione deve inviare una richiesta di accesso con un URI di reindirizzamento specificato come parametro e deve corrispondere a uno degli URI di reindirizzamento aggiunti nella registrazione dell'app.
Creare un segreto client per l'applicazione registrata. L'applicazione usa il segreto client per dimostrare la propria identità quando richiede token:
Nella pagina registrazioni dell'app selezionare l'applicazione creata ( ad esempio segreto client dell'app Web) per aprire la relativa pagina Panoramica.
In Gestisci, selezionare Certificati & Segreti>Segreti del client>Nuovo segreto client.
Nella casella Descrizione immettere una descrizione per il segreto client, ad esempio segreto client dell'app Web).
In Scade, selezionare la durata per cui il segreto rimane valido, in base alle regole di sicurezza dell'organizzazione, e quindi selezionare Aggiungi.
Registra il valore del segreto. Questo valore viene usato per la configurazione in un passaggio successivo. Il valore del segreto non sarà mai più visualizzabile né recuperabile in alcun modo possibile, dopo che si esce da Certificati e segreti. Assicurarsi di registrarlo.
Per usare le credenziali dei certificati per l'app Web, è necessario creare e quindi caricare il certificato. A scopo di test, è possibile usare un certificato autofirmato. Usare la procedura seguente per creare e caricare un certificato autofirmato:
Usando il terminale passare a una directory di propria scelta, quindi creare il certificato autofirmato usando il comando seguente.
Tornare all'interfaccia di amministrazione di Microsoft Entra e in Gestisciselezionare Certificati & segreti>Carica certificato.
Selezionare la scheda Certificati (0) e quindi selezionare Carica certificato.
Viene visualizzato un riquadro Carica certificato. Usare l'icona per passare al file di certificato creato nel passaggio precedente e selezionare Apri.
Immettere una descrizione per il certificato, ad esempio Certificato per aspnet-web-appe selezionare Aggiungi.
Registrare il valore dell'impronta digitale da usare nel passaggio successivo.
Creare un segreto client per l'applicazione registrata. L'applicazione usa il segreto client per dimostrare la propria identità quando richiede token:
Nella pagina registrazioni dell'app selezionare l'applicazione creata ( ad esempio segreto client dell'app Web) per aprire la relativa pagina Panoramica.
In Gestisci, selezionare Certificati & segreti>Segreti client>Nuovo segreto client.
Nella casella Descrizione, immettere la descrizione per il segreto del client, ad esempio segreto del client dell'app Web.
In Scadeselezionare una durata per cui il segreto è valido (in base alle regole di sicurezza dell'organizzazione) e quindi selezionare Aggiungi.
Registrare il valore del segreto. Questo valore viene usato per la configurazione in un passaggio successivo. Il valore del segreto non verrà visualizzato di nuovo e non sarà recuperabile in alcun modo, dopo aver navigato via dalla Certificati e segreti. Assicurarsi di registrarlo.
Quando si creano le credenziali per un'applicazione client riservata:
A scopo di test, è possibile creare un certificato autofirmato e configurare le app per l'autenticazione. Tuttavia, nell'ambiente di produzione, è consigliabile acquistare un certificato firmato da un'autorità di certificazione nota, quindi usare Azure Key Vault per gestire l'accesso e la durata dei certificati.
Clonare o scaricare un'applicazione Web di esempio
Per ottenere l'applicazione di esempio, è possibile clonarla da GitHub o scaricarla come file .zip.
Scaricare l'esempio di codice Python quindi estrarlo in un percorso di file in cui la lunghezza del nome è inferiore a 260 caratteri o clonare il repository:
Per clonare l'esempio, aprire un prompt dei comandi e passare alla posizione in cui si vuole creare il progetto e immettere il comando seguente:
Nell'IDE aprire la cartella del progetto ms-identity-docs-code-dotnet\web-app-aspnet, contenente l'esempio.
Aprire appsettings.json e sostituire il contenuto del file con il frammento di codice seguente;
{
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"TenantId": "Enter the tenant ID obtained from the Microsoft Entra admin center",
"ClientId": "Enter the client ID obtained from the Microsoft Entra admin center",
"ClientCertificates": [
{
"SourceType": "StoreWithThumbprint",
"CertificateStorePath": "CurrentUser/My",
"CertificateThumbprint": "Enter the certificate thumbprint obtained the Microsoft Entra admin center"
}
],
"CallbackPath": "/signin-oidc"
},
"DownstreamApi": {
"BaseUrl": "https://graph.microsoft.com/v1.0/",
"RelativePath": "me",
"Scopes": [
"user.read"
]
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}
TenantId: identificatore del tenant in cui è registrata l'applicazione. Sostituire il testo tra virgolette con il Directory (tenant) ID registrato in precedenza dalla pagina di panoramica dell'applicazione registrata.
ClientId: identificatore dell'applicazione, detto anche client. Sostituire il testo tra virgolette con il valore Application (client) ID registrato in precedenza dalla pagina di panoramica dell'applicazione registrata.
ClientCertificates: viene usato un certificato autofirmato per l'autenticazione nell'applicazione. Sostituire il testo del CertificateThumbprint con l'impronta digitale del certificato registrato in precedenza.
Aprire l'applicazione scaricata in un IDE e passare alla cartella radice dell'app di esempio.
cd flask-web-app
Creare un file .env nella cartella radice del progetto usando .env.sample come guida.
# The following variables are required for the app to run.
CLIENT_ID=<Enter_your_client_id>
CLIENT_SECRET=<Enter_your_client_secret>
AUTHORITY=<Enter_your_authority_url>
Impostare il valore di CLIENT_ID sull'ID applicazione (client) per l'applicazione registrata, disponibile nella pagina di panoramica.
Imposta il valore di CLIENT_SECRET sul segreto client che hai creato nella sezione Certificati e & Segreti per l'applicazione registrata.
Imposta il valore di AUTHORITY su un https://login.microsoftonline.com/<TENANT_GUID>. L'ID directory (tenant) è disponibile nella pagina di panoramica della registrazione dell'app.
Le variabili di ambiente a cui si fa riferimento in app_config.pysono conservate in un file separato .env per tenerle fuori dal controllo del codice sorgente. Il file fornito .gitignore impedisce l'archiviazione del file .env.
Eseguire e testare un'app Web di esempio
Hai configurato la tua app di esempio. Puoi avviarlo e testarlo.
Per avviare il server, eseguire i comandi seguenti dall'interno della directory del progetto:
cd App
npm install
npm start
Passare a http://localhost:3000/.
Selezionare Accedi per avviare il processo di accesso.
La prima volta che si accede, viene richiesto di fornire il consenso per consentire all'applicazione di accedere e accedere al profilo. Dopo aver eseguito l'accesso, si verrà reindirizzati alla home page dell'applicazione.
Funzionamento dell'app
L'esempio ospita un server Web in localhost, porta 3000. Quando un Web browser accede a questo indirizzo, l'app esegue il rendering della home page. Quando l'utente seleziona Accedi, l'app reindirizza il browser alla schermata di accesso di Microsoft Entra, tramite l'URL generato dalla libreria di nodi MSAL. Dopo il consenso dell'utente, il browser reindirizza l'utente alla home page dell'applicazione, insieme a un ID e un token di accesso.
Nella directory del progetto usare il terminale per immettere il comando seguente;
dotnet run
Copiare l'URL https visualizzato nel terminale, ad esempio https://localhost:5001e incollarlo in un browser. È consigliabile usare una sessione privata o in incognito del browser.
Seguire i passaggi e immettere i dettagli necessari per accedere con l'account Microsoft. Viene richiesto di fornire un indirizzo di posta elettronica in modo che sia possibile inviare un passcode una volta all'utente. Immettere il codice quando richiesto.
L'applicazione richiede l'autorizzazione per mantenere l'accesso ai dati a cui è stato concesso l'accesso e per accedere e leggere il profilo. Selezionare Accetta. Viene visualizzata la schermata seguente. Indica che è stato eseguito l'accesso all'applicazione e che i dettagli del profilo vengono visualizzati dall'API Microsoft Graph.
Disconnettersi dall'applicazione
Trova il collegamento Disconnetti in alto a destra della pagina e selezionalo.
Viene richiesto di selezionare un account da cui disconnettersi. Selezionare l'account usato per accedere.
Viene visualizzato un messaggio che indica che si è disconnesso. È ora possibile chiudere la finestra del browser.
Creare un ambiente virtuale per l'app:
Per Windows, eseguire i comandi seguenti:
py -m venv .venv
.venv\scripts\activate
Per macOS/Linux, eseguire i comandi seguenti:
python3 -m venv .venv
source .venv/bin/activate
Installare i requisiti usando pip:
pip install -r requirements.txt
Eseguire l'app dalla riga di comando. Verificare che l'app sia in esecuzione sulla stessa porta dell'URI di reindirizzamento configurato in precedenza.
flask run --debug --host=localhost --port=5000
Copiare l'URL https visualizzato nel terminale, ad esempio https://localhost:5000e incollarlo in un browser. È consigliabile usare una sessione privata o in incognito del browser.
Seguire i passaggi e immettere i dettagli necessari per accedere con l'account Microsoft. È necessario specificare un indirizzo di posta elettronica e una password per l'accesso.
L'applicazione richiede l'autorizzazione per mantenere l'accesso ai dati consentiti e per accedere e leggere il tuo profilo, come mostrato nello screenshot. Selezionare Accetta.
Viene visualizzata la schermata seguente, che indica che è stato eseguito l'accesso all'applicazione.
Funzionamento dell'app
Il diagramma seguente illustra il funzionamento dell'app di esempio:
L'applicazione usa il pacchetto identity per ottenere un token di accesso da Microsoft Identity Platform. Questo pacchetto è basato su Microsoft Authentication Library (MSAL) per Python per semplificare l'autenticazione e l'autorizzazione nelle app Web.
Il token di accesso ottenuto nel passaggio precedente viene usato come token di connessione per autenticare l'utente quando si chiama l'API Microsoft Graph.
In questa guida introduttiva si usa un'app Web di esempio per illustrare come accedere agli utenti nel tenant esterno. L'app di esempio usa Microsoft Authentication Library per gestire l'autenticazione.
Per iniziare, usare il selettore Scegliere un tipo di cliente nella parte superiore di questa pagina per selezionare il tipo di cliente. Microsoft Entra ID offre due configurazioni tenant, forza lavoro e esterna. Una configurazione del tenant della forza lavoro è destinata ai vostri dipendenti, alle applicazioni interne e ad altre risorse dell'organizzazione. Un tenant esterno è destinato alle app rivolte ai clienti.
Per consentire alla tua applicazione di effettuare l'accesso agli utenti con Microsoft Entra, Microsoft Entra External ID deve essere consapevole dell'applicazione che crei. La registrazione dell'app stabilisce una relazione di trust tra l'app e Microsoft Entra. Quando si registra un'applicazione, l'ID esterno genera un identificatore univoco noto come ID applicazione (client) , un valore usato per identificare l'app durante la creazione di richieste di autenticazione.
I passaggi seguenti illustrano come registrare l'app nell'interfaccia di amministrazione di Microsoft Entra:
Accedere all'interfaccia di amministrazione di Microsoft Entra almeno un Application Developer.
Se hai accesso a più tenant, usa l'icona Impostazioni nel menu in alto per passare al tuo tenant esterno dal menu Directory + sottoscrizioni.
Passare a Identity>Applications>Registrazioni delle app.
Selezionare + Nuova registrazione.
Nella pagina Registrare un'applicazione visualizzata;
Immettere un nome applicativo significativo Nome visualizzato agli utenti dell'app, ad esempio ciam-client-app.
In Tipi di account supportatiselezionare account in questa directory organizzativa solo.
Seleziona Registra.
Il riquadro Panoramica dell'applicazione viene visualizzato al termine della registrazione. Registrare l'ID applicazione (client) da usare nel codice sorgente dell'applicazione.
Aggiungere URL e piattaforma
Una piattaforma specifica il tipo di applicazione che si vuole integrare. Un URI di reindirizzamento è il percorso in cui il server di autenticazione di Identity Platform invia l'utente dopo aver autorizzato e concesso i token di sicurezza.
Per accedere a un utente, l'applicazione deve inviare una richiesta di accesso con un URI di reindirizzamento specificato come parametro e deve corrispondere a uno degli URI di reindirizzamento aggiunti nella registrazione dell'app.
Per specificare il tipo di app per la registrazione dell'app, seguire questa procedura:
In Gestisci, selezionare Autenticazione.
Nella pagina configurazioni della piattaforma selezionare Aggiungi una piattaformae quindi selezionare 'opzione Web.
Per gli URI di reindirizzamento , immettere http://localhost:3000/auth/redirect.
Selezionare Configura per salvare le modifiche.
Per specificare il tipo di app per la registrazione dell'app, seguire questa procedura:
In Gestisci, seleziona Autenticazione.
Nella pagina configurazioni della piattaforma selezionare Aggiungi una piattaformae quindi selezionare 'opzione Web.
Per gli URI di reindirizzamento immettere https://localhost:7274/signin-oidc.
In URL di disconnessione del canale frontale, immettere https://localhost:7274/signout-callback-oidc per disconnettersi.
Selezionare Configura per salvare le modifiche.
Per specificare il tipo di app per la registrazione dell'app, seguire questa procedura:
In Gestisci, selezionare Autenticazione
Nella pagina configurazioni della piattaforma , selezionare Aggiungi una piattaformae quindi selezionare l'opzione Web.
Per gli URI di reindirizzamento immettere http://localhost:5000/redirect. Questo URI di reindirizzamento è il percorso in cui il server di autorizzazione invia il token di accesso. È possibile personalizzarlo in base al caso d'uso.
Selezionare Configura per salvare le modifiche.
Per specificare il tipo di app per la registrazione dell'app, seguire questa procedura:
In Gestisci, selezionare Autenticazione
Nella pagina configurazioni della piattaforma , selezionare Aggiungi una piattaformae poi selezionare l'opzione Web.
Per gli URI di reindirizzamento immettere http://localhost:3000/getAToken. Questo URI di reindirizzamento è il percorso in cui il server di autorizzazione invia il token di accesso. È possibile personalizzarlo in base al caso d'uso.
Selezionare Configura per salvare le modifiche.
Aggiungere un segreto del client dell'app
Creare un segreto client per l'applicazione registrata. L'applicazione usa il segreto client per dimostrare la propria identità quando richiede token:
Nella pagina registrazioni dell'app selezionare l'applicazione creata ( ad esempio segreto client dell'app Web) per aprire la relativa pagina Panoramica.
In Gestisci, selezionare Certificati e segreti &>Segreti client>Nuovo segreto client.
Nella casella Descrizione immettere una descrizione per il segreto client, ad esempio segreto client dell'app Web).
In Scade, seleziona una durata per la quale il segreto è valido (in base alle regole di sicurezza dell'organizzazione) e quindi seleziona Aggiungi.
Registra il valore del segreto. Questo valore viene usato per la configurazione in un passaggio successivo. Il valore del segreto non verrà visualizzato di nuovo e non sarà recuperabile in alcun modo, dopo aver lasciato la sezione Certificati e segreti. Assicurarsi di registrarlo.
Quando si creano le credenziali per un'applicazione client riservata:
A scopo di test, è possibile creare un certificato autofirmato e configurare le app per l'autenticazione. Tuttavia, nell'ambiente di produzione, è consigliabile acquistare un certificato firmato da un'autorità di certificazione nota, quindi utilizzare Azure Key Vault per gestire l'accesso e la durata dei certificati.
Concedere il consenso dell'amministratore
Dopo aver registrato l'applicazione, viene assegnata l'autorizzazione User.Read. Tuttavia, poiché il tenant è un tenant esterno, gli utenti del cliente stessi non possono fornire il consenso a questa autorizzazione. L'amministratore del tenant deve fornire il consenso a questa autorizzazione per conto di tutti gli utenti nel tenant:
Nella pagina registrazioni app, selezionare l'app che hai creato (ad esempio ciam-client-app) per aprire la relativa pagina Panoramica.
In Gestisciselezionare autorizzazioni API .
Selezionare Concedi consenso amministratore per <nome del tenant>e quindi selezionare Sì.
Selezionare Aggiorna, quindi verificare che Concesso per <il nome del tenant> venga visualizzato in Stato per l'autorizzazione.
Creare un flusso utente
Seguire questa procedura per creare un flusso utente che un cliente può usare per accedere o iscriversi a un'applicazione.
Accedi al centro di amministrazione di Microsoft Entra come amministratore del flusso utente con ID esterno , oppure con un ruolo superiore.
Se si ha accesso a più tenant, usare l'icona Impostazioni nel menu in alto per passare al tenant esterno dal menu Directory + sottoscrizioni.
Sfoglia fino a Identità>Identità esterne>Flussi utente.
Seleziona + Nuovo flusso utente.
Nella pagina Crea :
Inserire un Nome per il flusso utente, come ad esempio SignInSignUpSample.
Nell'elenco provider di identità selezionare Account di posta elettronica. Questo provider di identità consente agli utenti di accedere o iscriversi usando il proprio indirizzo di posta elettronica.
Nota
I provider di identità aggiuntivi verranno elencati qui solo dopo aver configurato la federazione con essi. Ad esempio, se si configura la federazione con Google, Facebook, Apple o un provider di identità OIDC , sarà possibile selezionare tali provider di identità aggiuntivi qui.
In account di posta elettronicaè possibile selezionare una delle due opzioni. Per questa esercitazione, seleziona Email con la password.
Messaggio di posta elettronica con password: consente ai nuovi utenti di registrarsi e accedere usando un indirizzo di posta elettronica come nome di accesso e una password come primo fattore di autenticazione.
Codice di accesso unico via email: Consente ai nuovi utenti di registrarsi e accedere utilizzando un indirizzo email come nome di accesso e un codice di accesso unico via email come prima credenziale del fattore. Il passcode monouso della posta elettronica deve essere abilitato a livello di tenant (tutti i provider di identità>passcode monouso di posta elettronica) per rendere disponibile questa opzione a livello di flusso utente.
In Attributi utentescegliere gli attributi da raccogliere dall'utente al momento dell'iscrizione. Selezionando Mostra altri, è possibile scegliere attributi e attestazioni per paese/area geografica, nome visualizzatoe codice postale. Selezionare OK. Gli utenti vengono richiesti solo gli attributi quando si registrano per la prima volta.
Selezionare Crea. Il nuovo flusso utente appare nell'elenco Flussi utente. Se necessario, aggiornare la pagina.
Per consentire agli utenti del cliente di visualizzare l'esperienza di iscrizione o di accesso quando usano l'app, è necessario associare l'app a un flusso utente. Anche se molte applicazioni possono essere associate al flusso utente, una singola applicazione può essere associata solo a un flusso utente.
Nel menu della barra laterale selezionare Identity.
Selezionare Identità Esterne, quindi Flussi Utente.
Nella pagina Flussi utente selezionare il nome del flusso utente creato in precedenza, ad esempio SignInSignUpSample.
In Utilizza, selezionare Applicazioni.
Selezionare Aggiungi applicazione.
Selezionare l'applicazione dall'elenco, ad esempio ciam-client-app o usare la casella di ricerca per trovare l'applicazione e quindi selezionarla.
Scegliere Selezionare.
Dopo aver associato l'app a un flusso utente, è possibile testare il flusso utente simulando l'esperienza di iscrizione o di accesso di un utente con l'applicazione dall'interfaccia di amministrazione di Microsoft Entra. A tale scopo, usare i passaggi descritti in Testare il flusso utente di iscrizione e accesso.
Clonare o scaricare un'applicazione Web di esempio
Nell'editor di codice, apri il file di\authConfig.js app.
Trova il segnaposto:
Enter_the_Application_Id_Here e sostituirlo con l'ID applicazione (client) dell'app registrata in precedenza.
Enter_the_Tenant_Subdomain_Here e sostituirlo con il sottodominio Directory (tenant). Ad esempio, se il dominio primario del tenant è contoso.onmicrosoft.com, usare contoso. Se non hai il nome del "tenant", scopri come leggere i dettagli del "tenant".
Enter_the_Client_Secret_Here e sostituirlo con il codice segreto dell'app che hai copiato in precedenza.
Passare alla directory principale che contiene l'app di esempio ASP.NET Core.
cd 1-Authentication\1-sign-in-aspnet-core-mvc
Aprire il file appsettings.json.
In Autorità, trovare il Enter_the_Tenant_Subdomain_Here e sostituirlo con il sottodominio del tuo locatario. Ad esempio, se il dominio primario del tenant è caseyjensen@onmicrosoft.com, il valore da immettere è casyjensen.
Trovare il valore Enter_the_Application_Id_Here e sostituirlo con l'ID applicazione (clientId) dell'app registrata nell'interfaccia di amministrazione di Microsoft Entra.
Aprire i file di progetto in Visual Studio Code o nell'editor in uso.
Creare un file .env nella cartella radice del progetto usando il file .env.sample come guida.
Nel file .env di , specifica i seguenti valori delle variabili di ambiente:
CLIENT_ID che è l'ID applicazione (client) dell'app registrata in precedenza.
CLIENT_SECRET che corrisponde al valore segreto dell'app copiato in precedenza.
AUTHORITY che è l'URL che identifica un'autorità del token. Deve essere del formato https://{sottodominio}.ciamlogin.com/{sottodominio}.onmicrosoft.com. Sostituire il sottodominio con il sottodominio Directory (tenant). Ad esempio, se il dominio primario del tenant è contoso.onmicrosoft.com, usare contoso. Se non hai il tuo sottodominio del tenant, impara a leggere i dettagli del tenant.
REDIRECT_URI, che dovrebbe essere simile all'URI di reindirizzamento registrato in precedenza, deve corrispondere alla configurazione.
Aprire i file di progetto in Visual Studio Code o nell'editor in uso.
Creare un file di con estensione env nella cartella radice del progetto usando file .env.sample come guida.
Nel file .env , specificare le seguenti variabili di ambiente:
CLIENT_ID che è l'ID applicazione (client) dell'app registrata in precedenza.
CLIENT_SECRET che è il valore segreto dell'app che hai copiato in precedenza.
AUTHORITY che è l'URL che identifica un'autorità dei token. Deve essere del formato https://{sottodominio}.ciamlogin.com/{sottodominio}.onmicrosoft.com. Sostituire il sottodominio con il sottodominio Directory (tenant). Ad esempio, se il dominio primario del tenant è contoso.onmicrosoft.com, usare contoso. Se non hai il sottodominio del tuo tenant, scopri come leggere i dettagli del tuo tenant.
Verificare che l'URI di reindirizzamento sia configurato correttamente. L'URI di reindirizzamento registrato in precedenza deve corrispondere alla configurazione. Questo esempio imposta per impostazione predefinita il percorso dell'URI di reindirizzamento su /getAToken. Questa configurazione si trova nel file app_config.py come REDIRECT_PATH.
È ora possibile testare l'app Web di esempio Node.js. È necessario avviare il server Node.js e accedervi tramite il browser in http://localhost:3000.
Nel terminale eseguire il comando seguente:
npm start
Aprire il browser, quindi passare a http://localhost:3000. La pagina dovrebbe essere simile alla schermata seguente:
Al termine del caricamento della pagina, selezionare Accedi quando richiesto.
Nella pagina di accesso digitare l'indirizzo di posta elettronica , selezionare Avanti, digitare Password, quindi selezionare Accedi. Se non si ha un account, selezionare Nessun account? Creare un collegamento, che avvia il flusso di iscrizione.
Se si sceglie l'opzione di iscrizione, dopo aver compilato il messaggio di posta elettronica, il passcode monouso, la nuova password e altri dettagli dell'account, si completa l'intero flusso di iscrizione. Viene visualizzata una pagina simile allo screenshot seguente. Se si sceglie l'opzione di accesso, viene visualizzata una pagina simile.
Selezionare Disconnettersi per disconnettere l'utente dall'app Web oppure selezionare Visualizzare le attestazioni del token ID per visualizzare le attestazioni del token ID restituite da Microsoft Entra.
Come funziona
Quando gli utenti selezionano il collegamento Accedi, l'app avvia una richiesta di autenticazione e reindirizza gli utenti all'ID esterno di Microsoft Entra. Nella pagina di accesso o iscrizione visualizzata, dopo che un utente ha eseguito l'accesso o creato un account, Microsoft Entra External ID restituisce un token ID all'app. L'app convalida il token ID, legge le attestazioni e restituisce una pagina sicura agli utenti.
Quando gli utenti selezionano il collegamento Disconnetti, l'app cancella la sessione, quindi reindirizza l'utente all'endpoint di disconnessione dell'ID esterno di Microsoft Entra per notificare che l'utente si è disconnesso.
Dalla shell o dalla riga di comando eseguire i comandi seguenti:
dotnet run
Aprire il Web browser e passare a https://localhost:7274.
Accedere con un account registrato per il tenant esterno.
Dopo aver eseguito l'accesso, il nome visualizzato viene mostrato accanto al pulsante Disconnetti, come illustrato nello screenshot seguente.
Per disconnettersi dall'applicazione, selezionare il pulsante Disconnetti.
Eseguire l'app per visualizzare l'esperienza di accesso in corso.
Nota
Questo esempio usa la libreria di terze parti di identità Python . La libreria non è ufficialmente gestita da Microsoft, ma è consigliata per l'uso. Questa libreria semplifica l'aggiunta dell'autenticazione all'app Web perché astrae molti dettagli di PYTHON MSAL.
Nel terminale eseguire il comando seguente:
python manage.py runserver localhost:5000
È possibile usare un numero di porta preferito.
Aprire il browser, quindi passare a http://localhost:5000. Verrà visualizzata una pagina simile allo screenshot seguente:
Al termine del caricamento della pagina, selezionare Accedi. Ti viene richiesto di accedere.
Nella pagina di accesso digitare l'indirizzo di posta elettronica , selezionare Avanti, digitare Password, quindi selezionare Accedi. Se non si ha un account, selezionare Nessun account? Creare un collegamento, che avvia il flusso di iscrizione.
Se si sceglie l'opzione di iscrizione, si passa attraverso il flusso di iscrizione. Compilare la posta elettronica, il passcode monouso, la nuova password e altri dettagli dell'account per completare l'intero flusso di iscrizione.
Dopo l'accesso o l'iscrizione, si viene reindirizzati all'app Web. Viene visualizzata una pagina simile alla schermata seguente:
Selezionare Logout per disconnettere l'utente dall'app Web oppure selezionare Chiamare un'API downstream per chiamare un endpoint di Microsoft Graph.
Come funziona
Quando gli utenti selezionano il collegamento Accedi, l'app avvia una richiesta di autenticazione e reindirizza gli utenti all'ID esterno di Microsoft Entra. Un utente accede o effettua l'iscrizione sulla pagina visualizzata. Dopo aver specificato le credenziali necessarie e aver fornito il consenso agli ambiti necessari, Microsoft Entra External ID reindirizza l'utente all'app Web con un codice di autorizzazione. L'app Web usa quindi questo codice di autorizzazione per acquisire un token da Microsoft Entra External ID.
Quando gli utenti selezionano il collegamento Logout, l'app cancella la sua sessione e reindirizza l'utente all'endpoint di disconnessione di Microsoft Entra External ID per notificare che l'utente si è disconnesso. L'utente viene quindi reindirizzato all'app Web.
Eseguire l'app per visualizzare l'esperienza di accesso in corso.
Nota
Questo esempio utilizza la libreria di identità di terze parti Python . La libreria non è ufficialmente gestita da Microsoft, ma è consigliata per l'uso. Questa libreria semplifica l'aggiunta dell'autenticazione all'app Web perché astrae molti dettagli di PYTHON MSAL.
Nel terminale eseguire il comando seguente:
python3 -m flask run --debug --host=localhost --port=3000
È possibile usare la porta preferita. Questa dovrebbe essere simile alla porta dell'URI di reindirizzamento che hai registrato in precedenza.
Aprire il browser, quindi passare a http://localhost:3000. La pagina dovrebbe essere simile alla schermata seguente:
Al termine del caricamento della pagina, selezionare il link Accedi. Viene richiesto di eseguire l'accesso.
Nella pagina di accesso digitare l'indirizzo di posta elettronica , selezionare Avanti, digitare Password, quindi selezionare Accedi. Se non si ha un account, selezionare Nessun account? Creare un collegamento, che avvia il flusso di iscrizione.
Se si sceglie l'opzione di iscrizione, si passerà attraverso la procedura di iscrizione. Compilare il messaggio di posta elettronica, il passcode monouso, la nuova password e altri dettagli dell'account per completare l'intero flusso di iscrizione.
Dopo l'accesso o l'iscrizione, si viene reindirizzati all'app Web. Verrà visualizzata una pagina simile alla schermata seguente:
Selezionare Logout per disconnettere l'utente dall'applicazione web oppure selezionare Chiamare un'API a valle per effettuare una chiamata a un endpoint di Microsoft Graph.
Come funziona
Quando gli utenti selezionano il collegamento Accedi, l'app avvia una richiesta di autenticazione e reindirizza gli utenti all'ID esterno di Microsoft Entra. L'utente effettua l'accesso o si registra sulla pagina visualizzata. Dopo aver specificato le credenziali necessarie e aver fornito il consenso agli ambiti necessari, Microsoft Entra External ID reindirizza l'utente all'app Web con un codice di autorizzazione. L'app Web usa quindi questo codice di autorizzazione per acquisire un token da Microsoft Entra External ID.
Quando gli utenti selezionano il collegamento Logout, l'app cancella la sessione e reindirizza l'utente all'endpoint di disconnessione dell'ID esterno di Microsoft Entra per notificare che l'utente si è disconnesso. Viene quindi riportato all'app web.
Scopri in che modo Microsoft Entra External ID può offrire esperienze di accesso sicure e semplici per i clienti consumer e aziendali. Esplorare la creazione di tenant, la registrazione delle app, la personalizzazione del flusso e la sicurezza degli account.
Illustrare le funzionalità di Microsoft Entra ID per modernizzare le soluzioni di identità, implementare soluzioni ibride e implementare la governance delle identità.