Een verificatietoken genereren
In dit artikel leert u hoe u het verificatietoken van de service-principal, het verificatietoken van een gebruiker en het vernieuwingstoken van een gebruiker genereert.
Uw app registreren bij Microsoft Entra-ID
Als u het Azure Data Manager for Energy-platform wilt inrichten, moet u uw app registreren op de registratiepagina van de Azure-portal-app. U kunt een Microsoft-account of een werk- of schoolaccount gebruiken om een app te registreren. Zie De documentatie voor uw app registreren voor stappen voor het configureren.
Als er geen omleidings-URI's zijn opgegeven in het app-overzicht, kunt u een platformweb> toevoegen selecteren, toevoegen
http://localhost:8080
en Opslaan selecteren.
Parameters ophalen
U kunt de parameters ook vinden nadat de app is geregistreerd in Azure Portal.
Tenant-id zoeken
Ga naar het Microsoft Entra-account voor uw organisatie. U kunt zoeken naar Microsoft Entra-id in de zoekbalk van Azure Portal.
Zoek op het tabblad Overzicht, onder de sectie Basisinformatie, tenant-id.
Kopieer de waarde en plak deze
tenant-ID
in een editor die later moet worden gebruikt.
Client-id zoeken
Een client-id
is dezelfde waarde die u gebruikt om uw toepassing te registreren tijdens het inrichten van uw Azure Data Manager for Energy-exemplaar. Het wordt vaak aangeduid als app-id
.
Ga naar de pagina Overzicht van Azure Data Manager for Energy. Zoek in het deelvenster Essentials de client-id.
Kopieer de waarde en plak deze
client-id
in een editor die later moet worden gebruikt.Op dit moment kan één Exemplaar van Azure Data Manager for Energy één
app-id
exemplaar koppelen.Belangrijk
De
client-id
waarde die wordt doorgegeven als een waarde in de Rechten-API-aanroepen, moet hetzelfde zijn dat is gebruikt voor het inrichten van uw Azure Data Manager for Energy-exemplaar.
Clientgeheim zoeken
Een client-secret
is een tekenreekswaarde die uw app kan gebruiken in plaats van een certificaat om zichzelf te identificeren. Dit wordt soms een toepassingswachtwoord genoemd.
Ga naar App-registraties.
Selecteer Onder de sectie Beheren certificaten en geheimen.
Selecteer Nieuw clientgeheim om een clientgeheim te maken voor de client-id die u hebt gebruikt om uw Azure Data Manager for Energy-exemplaar te maken.
Noteer de waarde van het geheim voor later gebruik in de code van de clienttoepassing.
Het toegangstoken van de
app-id
enclient-secret
heeft de infrastructuurbeheerder toegang tot het exemplaar.Let op
Vergeet niet om de waarde van het geheim vast te leggen. Deze geheime waarde wordt nooit meer weergegeven nadat u deze pagina hebt verlaten voor het maken van clientgeheimen.
Omleidings-URI zoeken
De redirect-uri
app, waar uw app de verificatiereacties verzendt en ontvangt. Deze moet exact overeenkomen met een van de omleidings-URI's die u hebt geregistreerd in de portal, behalve dat deze URL moet worden gecodeerd.
- Ga naar App-registraties.
- Selecteer Verificatie in de sectie Beheren.
- Haal de
redirect-uri
(of antwoord-URL) voor uw app op om antwoorden van Microsoft Entra ID te ontvangen.
De adme-URL voor uw Azure Data Manager for Energy-exemplaar zoeken
Maak een Azure Data Manager for Energy-exemplaar met behulp van de
client-id
hierboven gegenereerde instantie.Ga naar uw azure Data Manager for Energy Overview-pagina in Azure Portal.
Kopieer de URI in het deelvenster Essentials .
Gegevenspartitie-id zoeken
U hebt twee manieren om de lijst met gegevenspartities op te halen in uw Azure Data Manager for Energy-exemplaar.
Optie 1: Ga in de sectie Geavanceerd van de gebruikersinterface van Azure Data Manager for Energy naar de menuopdracht Gegevenspartities .
Optie 2: Selecteer in het deelvenster Essentials van uw Azure Data Manager for Energy Overview-pagina onder het veld Gegevenspartities de weergave.
Domein zoeken
domain
De standaardinstelling is dataservices.energy voor alle Instanties van Azure Data Manager for Energy.
Het verificatietoken voor de client-id genereren
Voer de volgende curl-opdracht uit in Azure Cloud Bash nadat u de tijdelijke aanduidingen hebt vervangen door de bijbehorende waarden die u eerder in de vorige stappen hebt gevonden. Het toegangstoken in het antwoord is het client-id
verificatietoken.
Aanvraagindeling
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>'
Voorbeeldrespons
{
"token_type": "Bearer",
"expires_in": 86399,
"ext_expires_in": 86399,
"access_token": "abcdefgh123456............."
}
Het verificatietoken van de gebruiker genereren
Het genereren van een verificatietoken van een gebruiker is een proces in twee stappen.
De autorisatiecode ophalen
De eerste stap voor het ophalen van een toegangstoken voor veel OpenID Verbinding maken -stromen (OIDC) en OAuth 2.0 is het omleiden van de gebruiker naar het Microsoft Identity Platform-eindpunt/authorize
. Microsoft Entra ID ondertekent de gebruiker en vraagt toestemming voor de machtigingen die uw app aanvraagt. Nadat toestemming is verkregen, retourneert Microsoft Entra ID in de stroom voor het verlenen van autorisatiecode een autorisatiecode aan uw app die deze kan inwisselen op het Microsoft Identity Platform-eindpunt /token
voor een toegangstoken.
Bereid de aanvraagindeling voor met behulp van de parameters.
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
Nadat u de parameters hebt vervangen, kunt u de aanvraag in de URL van een browser plakken en Enter selecteren.
Meld u aan bij azure Portal als u nog niet bent aangemeld.
Mogelijk ziet u de "Hmmm... kan deze pagina niet bereiken" foutbericht in de browser. Deze kunt u negeren.
De browser wordt omgeleid
http://localhost:8080/?code={authorization code}&state=...
na een geslaagde verificatie.Kopieer het antwoord van de URL-balk van de browser en haal de tekst tussen
code=
en&state
.http://localhost:8080/?code=0.BRoAv4j5cvGGr0...au78f&state=12345&session....
Houd dit
authorization-code
handig voor toekomstig gebruik.Parameter Description code De autorisatiecode die de app heeft aangevraagd. De app kan de autorisatiecode gebruiken om een toegangstoken aan te vragen voor de doelresource. Autorisatiecodes zijn kortlevend. Normaal gesproken verlopen ze na ongeveer 10 minuten. staat Als een statusparameter is opgenomen in de aanvraag, wordt dezelfde waarde weergegeven in de reactie. De app moet controleren of de statuswaarden in de aanvraag en het antwoord identiek zijn. Deze controle helpt bij het detecteren van CSRF-aanvallen tegen de client. session_state Een unieke waarde die de huidige gebruikerssessie identificeert. Deze waarde is een GUID, maar moet worden behandeld als een ondoorzichtige waarde die zonder onderzoek wordt doorgegeven.
Waarschuwing
Het uitvoeren van de URL in Postman werkt niet omdat hiervoor extra configuratie is vereist voor het ophalen van tokens.
Een verificatietoken en een vernieuwingstoken ophalen
De tweede stap is het ophalen van het verificatietoken en het vernieuwingstoken. Uw app gebruikt de autorisatiecode die u in de vorige stap hebt ontvangen om een toegangstoken aan te vragen door een POST-aanvraag naar het /token
eindpunt te verzenden.
Aanvraagindeling
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'
Voorbeeldrespons
{
"token_type": "Bearer",
"scope": "User.Read profile openid email",
"expires_in": 4557,
"access_token": "eyJ0eXAiOiJKV1QiLCJub25jZSI6IkJuUXdJd0ZFc...",
"refresh_token": "0.ARoAv4j5cvGGr0GRqy180BHbR8lB8cvIWGtHpawGN..."
}
Parameter | Description |
---|---|
token_type | Geeft de waarde van het tokentype aan. Het enige type dat door Microsoft Entra ID wordt ondersteund, is Bearer. |
bereik | Een door spaties gescheiden lijst van de Microsoft Graph-machtigingen waarvoor het toegangstoken geldig is. |
expires_in | Hoe lang het toegangstoken geldig is, in seconden. |
access_token | Het aangevraagde toegangstoken. Uw app kan dit token gebruiken om Microsoft Graph aan te roepen. |
refresh_token | Een OAuth 2.0-vernieuwingstoken. Uw app kan dit token gebruiken om extra toegangstokens te verkrijgen nadat het huidige toegangstoken is verlopen. Vernieuwingstokens zijn langdurig en kunnen worden gebruikt om de toegang tot resources gedurende langere tijd te behouden. |
Zie Vernieuwingstokens genereren voor meer informatie over het genereren van een token voor gebruikerstoegang en het gebruik van een vernieuwingstoken om een nieuw toegangstoken te genereren.
OSDU® is een handelsmerk van The Open Group.
Volgende stappen
Zie voor meer informatie over het gebruik van het gegenereerde vernieuwingstoken: