si applica a:
inquilini della forza lavoro
inquilini esterni (scopri di più)
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.
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Se non ne hai già uno, Crea un account gratuitamente.
- Questo account di Azure deve disporre delle autorizzazioni per gestire le applicazioni. Uno dei seguenti ruoli di Microsoft Entra include le autorizzazioni necessarie:
- Amministratore di applicazioni
- Sviluppatore di applicazioni
- Amministratore di applicazioni cloud
- Inquilino della forza lavoro. Puoi utilizzare la directory predefinita oppure configurare un nuovo tenant.
-
Visual Studio Code o un altro editor di codice.
- Registrare una nuova app nell'interfaccia di amministrazione di Microsoft Entra con la configurazione seguente. Per delle altre informazioni, vedere la sezione Registrazione di un'applicazione.
-
Nome: identity-client-web-app
-
Tipi di account supportati: Account solo in questa directory organizzativa (tenant singolo)
-
Piattaforma di configurazione: Web
-
URI di reindirizzamento:
http://localhost:3000/auth/redirect
-
URL di disconnessione front-channel:
https://localhost:5001/signout-callback-oidc
-
Node.js
- Registrare una nuova app nell'interfaccia di amministrazione di Microsoft Entra con la configurazione seguente. Per delle altre informazioni, vedere la sezione Registrazione di un'applicazione.
-
Nome: identity-client-web-app
-
Tipi di account supportati: Account solo in questa directory organizzativa (tenant singolo)
-
Piattaforma di configurazione: Web
-
URI di reindirizzamento:
https://localhost:5001/signin-oidc
-
URL di disconnessione front-channel:
https://localhost:5001/signout-callback-oidc
- Requisito minimo di .NET 8.0 SDK
- Registrare una nuova app nell'interfaccia di amministrazione di Microsoft Entra con la configurazione seguente. Per delle altre informazioni, vedere la sezione Registrazione di un'applicazione.
-
Nome: identity-client-web-app
-
Tipi di account supportati: Account solo in questa directory organizzativa (tenant singolo)
-
Piattaforma di configurazione: Web
-
URI di reindirizzamento:
http://localhost:5000/getAToken
-
Python 3 +
Aggiungere un certificato o 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 & 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.
dotnet dev-certs https -ep ./certificate.crt --trust
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 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.
Quando si creano le credenziali per un'applicazione client riservata:
Microsoft consiglia di usare un certificato anziché un segreto client prima di spostare l'applicazione in un ambiente di produzione. Per altre informazioni su come usare un certificato, vedere le istruzioni in credenziali del certificato di autenticazione delle applicazioni di Microsoft Identity Platform.
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 il file .zip, 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:
git clone https://github.com/Azure-Samples/ms-identity-node.git
Scaricare il file .zip, 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:
git clone https://github.com/Azure-Samples/ms-identity-docs-code-dotnet.git
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:
git clone https://github.com/Azure-Samples/ms-identity-docs-code-python/
Per consentire l'accesso degli utenti con l'app di esempio, è necessario aggiornare l'app con i dettagli della tua app e del tenant:
Nella cartella ms-identity-node, aprire il file App/.env, e quindi sostituire i segnaposto seguenti:
Variabile |
Descrizione |
Esempi |
Enter_the_Cloud_Instance_Id_Here |
Istanza cloud di Azure in cui è registrata l'applicazione |
https://login.microsoftonline.com/ (includere la barra obliqua finale) |
Enter_the_Tenant_Info_here |
ID tenant o dominio primario |
contoso.microsoft.com o aaaabbbb-0000-cccc-1111-dddd2222eeee |
Enter_the_Application_Id_Here |
ID client dell'applicazione registrata |
00001111-aaaa-2222-bbbb-3333cccc4444 |
Enter_the_Client_Secret_Here |
Chiave segreta del client dell'applicazione che hai registrato |
A1b-C2d_E3f.H4i,J5k?L6m!N7o-P8q_R9s.T0u |
Enter_the_Graph_Endpoint_Here |
Istanza cloud dell'API Microsoft Graph chiamata dall'app |
https://graph.microsoft.com/ (includere la barra obliqua finale) |
Enter_the_Express_Session_Secret_Here |
Stringa casuale di caratteri usata per firmare il cookie di sessione Express |
A1b-C2d_E3f.H4... |
Dopo aver apportato modifiche, il file dovrebbe essere simile al frammento di codice seguente:
CLOUD_INSTANCE=https://login.microsoftonline.com/
TENANT_ID=aaaabbbb-0000-cccc-1111-dddd2222eeee
CLIENT_ID=00001111-aaaa-2222-bbbb-3333cccc4444
CLIENT_SECRET=A1b-C2d_E3f.H4...
REDIRECT_URI=http://localhost:3000/auth/redirect
POST_LOGOUT_REDIRECT_URI=http://localhost:3000
GRAPH_API_ENDPOINT=https://graph.microsoft.com/
EXPRESS_SESSION_SECRET=6DP6v09eLiW7f1E65B8k
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",
"ClientCredentials": [
{
"SourceType": "StoreWithThumbprint",
"CertificateStorePath": "CurrentUser/My",
"CertificateThumbprint": "Enter the certificate thumbprint obtained the Microsoft Entra admin center"
}
],
"CallbackPath": "/signin-oidc"
},
"DownstreamApis": {
"MicrosoftGraph" :{
"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.entra-id 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 sull'ID applicazione (client) per l'applicazione registrata, disponibile nella pagina di riepilogo.
- 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 riepilogo 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 .gitignore fornito impedisce che il file .env venga registrato.
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 i comandi seguenti:
cd ms-identity-docs-code-dotnet/web-app-aspnet
dotnet run
Copiare l'URL https
visualizzato nel terminale, ad esempio https://localhost:5001
e 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.
Contenuto correlato
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.
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.
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Se non ne hai già uno, Crea un account gratuitamente.
- Questo account di Azure deve disporre delle autorizzazioni per gestire le applicazioni. Uno dei seguenti ruoli di Microsoft Entra include le autorizzazioni necessarie:
- Amministratore di applicazioni
- Sviluppatore di applicazioni
- Amministratore di applicazioni cloud
- Un tenant esterno. Per crearne uno, scegliere tra i metodi seguenti:
- Un flusso utente. Per ulteriori informazioni, fare riferimento a su come creare flussi utente di iscrizione self-service per le app nei tenant esterni. Questo flusso utente può essere usato per più applicazioni.
-
Visual Studio Code o un altro editor di codice.
- Registrare una nuova app nel centro di amministrazione di Microsoft Entra con la seguente configurazione e annotare gli identificatori dalla pagina Panoramica dell'app. Per delle altre informazioni, vedere la sezione Registrazione di un'applicazione.
-
Nome: identity-client-web-app
-
Tipi di account supportati: Account solo in questa directory organizzativa (tenant singolo)
-
Piattaforma di configurazione: Web
-
URI di reindirizzamento:
https://localhost:7274/signin-oidc
-
URL di disconnessione front-channel:
https://localhost:7274/signout-callback-oidc
-
Aggiungere la propria applicazione al flusso utente
- Versione minima di .NET 8.0 SDK.
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 & 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.
Quando si creano le credenziali per un'applicazione client riservata:
Microsoft consiglia di usare un certificato anziché un segreto client prima di spostare l'applicazione in un ambiente di produzione. Per altre informazioni su come usare un certificato, vedere le istruzioni in credenziali del certificato di autenticazione delle applicazioni di Microsoft Identity Platform.
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.
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 sotto Stato per l'autorizzazione.
Clonare o scaricare un'applicazione Web di esempio
Per ottenere l'applicazione di esempio, è possibile clonarla da GitHub o scaricarla come file .zip:
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:
git clone https://github.com/Azure-Samples/ms-identity-ciam-javascript-tutorial.git
In alternativa, scaricare il file di esempio .zip, quindi estrarlo in un percorso di file in cui la lunghezza del nome è inferiore a 260 caratteri.
Installare le dipendenze del progetto
Aprire una finestra della console e passare alla directory che contiene l'app di esempio Node.js:
cd 1-Authentication\5-sign-in-express\App
Eseguire i comandi seguenti per installare le dipendenze dell'app:
npm install
Per ottenere l'applicazione di esempio, è possibile clonarla da GitHub o scaricarla come file .zip.
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:
git clone https://github.com/Azure-Samples/ms-identity-ciam-dotnet-tutorial.git
Scarica il file .zip. Estrarlo in un percorso di file in cui la lunghezza del nome è inferiore a 260 caratteri.
Per ottenere l'applicazione di esempio, è possibile clonarla da GitHub o scaricarla come file .zip.
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:
git clone https://github.com/Azure-Samples/ms-identity-docs-code-python.git
Scarica il file .zip. Estrarlo in un percorso di file in cui la lunghezza del nome è inferiore a 260 caratteri.
Installare le dipendenze del progetto
Aprire una finestra della console e passare alla directory che contiene l'app Web di esempio Flask:
cd django-web-app
Configurare l'ambiente virtuale:
- 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
Per installare le dipendenze dell'app, eseguire i comandi seguenti:
python3 -m pip install -r requirements.txt
Per ottenere l'applicazione di esempio, è possibile clonarla da GitHub o scaricarla come file .zip.
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:
git clone https://github.com/Azure-Samples/ms-identity-docs-code-python.git
Scarica il file .zip. Estrarlo in un percorso di file in cui la lunghezza del nome è inferiore a 260 caratteri.
Installare le dipendenze del progetto
Aprire una finestra della console e passare alla directory che contiene l'app Web di esempio Flask:
cd flask-web-app
Configurare l'ambiente virtuale:
- 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
Per installare le dipendenze dell'app, eseguire i comandi seguenti:
python3 -m pip install -r requirements.txt
Per consentire l'accesso degli utenti con l'app di esempio, è necessario aggiornare l'app con i dettagli della tua app e del tenant:
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 è [email protected], 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.
Sostituire Enter_the_Client_Secret_Here
con il valore del segreto client configurato in Aggiungere il segreto client dell'app.
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.external-id 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 .env nella cartella radice del progetto usando il file .env.sample.external-id 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.
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.
Eseguire e testare un'app Web di esempio
È 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.
Se vuoi creare un'app simile all'esempio che hai eseguito, completa i passaggi nell'articolo Accedere agli utenti nella propria applicazione web Node.js.
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.
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.
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 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 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'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.
Contenuto correlato