Generare un token di autenticazione
Questo articolo illustra come generare il token di autenticazione dell'entità servizio, il token di autenticazione di un utente e il token di aggiornamento di un utente.
Registrare l'app con l'account Microsoft Entra ID
Per effettuare il provisioning della piattaforma Azure Data Manager for Energy, è necessario registrare l'app nella pagina di registrazione dell'app portale di Azure. È possibile usare un account Microsoft o un account aziendale o dell'istituto di istruzione per registrare un'app. Per informazioni su come configurare, vedere Registrare la documentazione dell'app.
Nella sezione Panoramica dell'app, se non sono specificati URI di reindirizzamento, è possibile selezionare Aggiungi un Web della piattaforma>, aggiungere
http://localhost:8080
e selezionare Salva.
Recuperare i parametri
È anche possibile trovare i parametri dopo la registrazione dell'app nel portale di Azure.
Trovare l'ID tenant
Passare all'account Microsoft Entra per l'organizzazione. È possibile cercare Microsoft Entra ID nella barra di ricerca del portale di Azure.
Nella scheda Panoramica , nella sezione Informazioni di base , trovare l'ID tenant.
Copiare il
tenant-ID
valore e incollarlo in un editor da usare in un secondo momento.
Trovare l'ID client
È client-id
lo stesso valore usato per registrare l'applicazione durante il provisioning dell'istanza di Azure Data Manager per l'energia. Viene spesso definito .app-id
Passare alla pagina Panoramica di Azure Data Manager per l'energia. Nel riquadro Informazioni di base trovare l'ID client.
Copiare il
client-id
valore e incollarlo in un editor da usare in un secondo momento.Attualmente, un'istanza di Azure Data Manager per l'energia consente di associarne una
app-id
a un'istanza.Importante
L'oggetto
client-id
passato come valore nelle chiamate API Entitlement deve essere lo stesso usato per il provisioning dell'istanza di Azure Data Manager per l'energia.
Trovare il segreto client
Un client-secret
è un valore stringa che l'app può usare al posto di un certificato per identificarsi. A volte viene definita password dell'applicazione.
Vai a Registrazioni app.
Nella sezione Gestisci selezionare Certificati e segreti.
Selezionare Nuovo segreto client per creare un segreto client per l'ID client usato per creare l'istanza di Azure Data Manager per l'energia.
Registrare il valore del segreto per usarlo successivamente nel codice dell'applicazione client.
Il token di accesso di
app-id
eclient-secret
ha l'accesso dell'amministratore dell'infrastruttura all'istanza.Attenzione
Non dimenticare di registrare il valore del segreto. Questo valore del segreto non viene mai più visualizzato dopo aver lasciato questa pagina per la creazione del segreto client.
Trovare redirect-uri
Oggetto redirect-uri
dell'app, in cui l'app invia e riceve le risposte di autenticazione. Deve corrispondere esattamente a uno degli URI di reindirizzamento registrati nel portale, ad eccezione del fatto che deve essere codificato in URL.
- Vai a Registrazioni app.
- Nella sezione Gestisci selezionare Autenticazione.
- Recuperare (
redirect-uri
o URL di risposta) per l'app per ricevere risposte dall'ID Microsoft Entra.
Trovare l'url adme per l'istanza di Azure Data Manager per l'energia
Creare un'istanza di Azure Data Manager per l'energia usando l'istanza
client-id
precedente generata.Passare alla pagina Panoramica di Azure Data Manager per l'energia nella portale di Azure.
Nel riquadro Informazioni di base copiare l'URI.
Trovare data-partition-id
Sono disponibili due modi per ottenere l'elenco delle partizioni di dati nell'istanza di Azure Data Manager per l'energia.
Opzione 1: nella sezione Avanzate dell'interfaccia utente di Azure Data Manager per l'energia passare alla voce di menu Partizioni dati.
Opzione 2: nel riquadro Informazioni di base della pagina Panoramica di Azure Data Manager per l'energia selezionare Visualizza sotto il campo Partizioni dati.
Trova dominio
Per impostazione predefinita, domain
è dataservices.energy per tutte le istanze di Azure Data Manager per l'energia.
Generare il token di autenticazione con ID client
Eseguire il comando curl seguente in Azure Cloud Bash dopo aver sostituito i valori segnaposto con i valori corrispondenti trovati in precedenza nei passaggi precedenti. Il token di accesso nella risposta è il client-id
token di autenticazione.
Formato richiesta
curl --location --request POST 'https://login.microsoftonline.com/<tenant-id>/oauth2/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'scope=<client-id>.default' \
--data-urlencode 'client_id=<client-id>' \
--data-urlencode 'client_secret=<client-secret>' \
--data-urlencode 'resource=<client-id>'
Risposta di esempio
{
"token_type": "Bearer",
"expires_in": 86399,
"ext_expires_in": 86399,
"access_token": "abcdefgh123456............."
}
Generare il token di autenticazione utente
La generazione del token di autenticazione di un utente è un processo in due passaggi.
Ottenere il codice di autorizzazione
Il primo passaggio per ottenere un token di accesso per molti flussi OIDC (OpenID Connessione) e OAuth 2.0 consiste nel reindirizzare l'utente all'endpoint di Microsoft Identity Platform/authorize
. Microsoft Entra ID firma l'utente e richiede il consenso per le autorizzazioni richieste dall'app. Nel flusso di concessione del codice di autorizzazione, dopo aver ottenuto il consenso, Microsoft Entra ID restituisce un codice di autorizzazione all'app che può riscattare nell'endpoint di Microsoft Identity Platform /token
per un token di accesso.
Preparare il formato della richiesta usando i parametri .
https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/authorize?client_id=<client-id> &response_type=code &redirect_uri=<redirect-uri> &response_mode=query &scope=<client-id>%2f.default&state=12345&sso_reload=true
Dopo aver sostituito i parametri, è possibile incollare la richiesta nell'URL di qualsiasi browser e selezionare INVIO.
Accedere al portale di Azure se non è già stato eseguito l'accesso.
Potresti vedere il "Hmmm... impossibile raggiungere questa pagina" messaggio di errore nel browser. È possibile ignorarla.
Al termine dell'autenticazione, il browser viene reindirizzato a
http://localhost:8080/?code={authorization code}&state=...
.Copiare la risposta dalla barra URL del browser e recuperare il testo tra
code=
e&state
.http://localhost:8080/?code=0.BRoAv4j5cvGGr0...au78f&state=12345&session....
Tieni questo
authorization-code
utile per un uso futuro.Parametro Descrizione codice Codice di autorizzazione richiesto dall'app. L'app può usare il codice di autorizzazione per richiedere un token di accesso per la risorsa di destinazione. I codici di autorizzazione sono di breve durata. In genere scadono dopo circa 10 minuti. state Se nella richiesta è incluso un parametro state, lo stesso valore deve essere visualizzato nella risposta. L'app deve verificare che i valori state nella richiesta e nella risposta siano identici. Questo controllo consente di rilevare gli attacchi CSRF contro il client. session_state Valore univoco che identifica la sessione utente corrente. Questo valore è un GUID, ma deve essere considerato come un valore opaco che viene superato senza esame.
Avviso
L'esecuzione dell'URL in Postman non funzionerà perché richiede una configurazione aggiuntiva per il recupero dei token.
Ottenere un token di autenticazione e un token di aggiornamento
Il secondo passaggio consiste nel ottenere il token di autenticazione e il token di aggiornamento. L'app usa il codice di autorizzazione ricevuto nel passaggio precedente per richiedere un token di accesso inviando una richiesta POST all'endpoint /token
.
Formato richiesta
curl -X POST -H "Content-Type: application/x-www-form-urlencoded" -d 'client_id=<client-id>
&scope=<client-id>%2f.default openid profile offline_access
&code=<authorization-code>
&redirect_uri=<redirect-uri>
&grant_type=authorization_code
&client_secret=<client-secret>' 'https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token'
Risposta di esempio
{
"token_type": "Bearer",
"scope": "User.Read profile openid email",
"expires_in": 4557,
"access_token": "eyJ0eXAiOiJKV1QiLCJub25jZSI6IkJuUXdJd0ZFc...",
"refresh_token": "0.ARoAv4j5cvGGr0GRqy180BHbR8lB8cvIWGtHpawGN..."
}
Parametro | Descrizione |
---|---|
token_type | Indica il valore del tipo di token. L'unico tipo supportato da Microsoft Entra ID è Bearer. |
ambito | Elenco separato da spazi delle autorizzazioni di Microsoft Graph per cui il token di accesso è valido. |
expires_in | Tempo di validità del token di accesso (in secondi). |
access_token | Token di accesso richiesto. L'app può usare questo token per chiamare Microsoft Graph. |
token di aggiornamento | Token di aggiornamento di OAuth 2.0. L'app può usare questo token per acquisire token di accesso aggiuntivi dopo la scadenza del token di accesso corrente. I token di aggiornamento hanno una lunga durata e possono essere usati per mantenere l'accesso alle risorse per lunghi periodi di tempo. |
Per altre informazioni sulla generazione di un token di accesso utente e sull'uso di un token di aggiornamento per generare un nuovo token di accesso, vedere Generare token di aggiornamento.
OSDU® è un marchio di The Open Group.
Passaggi successivi
Per altre informazioni su come usare il token di aggiornamento generato, vedere: