Generera en autentiseringstoken

I den här artikeln får du lära dig hur du genererar autentiseringstoken för tjänstens huvudnamn, en användares autentiseringstoken och en användares uppdateringstoken.

Registrera din app med Microsoft Entra ID

  1. Om du vill etablera Azure Data Manager for Energy-plattformen måste du registrera din app på registreringssidan för Azure Portal-appen. Du kan använda ett Microsoft-konto eller ett arbets- eller skolkonto för att registrera en app. Anvisningar om hur du konfigurerar finns i Registrera din appdokumentation.

  2. Om det inte finns några angivna omdirigerings-URI:er i avsnittet Appöversikt kan du välja Lägg till en plattformswebb>, lägga till http://localhost:8080och välja Spara.

    Skärmbild som visar hur du lägger till URI:n i appen.

Hämta parametrar

Du kan också hitta parametrarna när appen har registrerats på Azure-portalen.

Hitta klientorganisations-ID

  1. Gå till Microsoft Entra-kontot för din organisation. Du kan söka efter Microsoft Entra-ID i Azure-portalens sökfält.

  2. På fliken Översikt går du till avsnittet Grundläggande information och letar upp klientorganisations-ID.

  3. Kopiera värdet tenant-ID och klistra in det i en redigerare som ska användas senare.

    Skärmbild som visar sökning efter Microsoft Entra-ID.

    Skärmbild som visar hur du hittar klientorganisations-ID:t.

Hitta klient-ID

A client-id är samma värde som du använder för att registrera ditt program under etableringen av din Azure Data Manager for Energy-instans. Det kallas app-idofta .

  1. Gå till sidan Översikt över Azure Data Manager för energi. Leta upp klient-ID i fönstret Essentials.

  2. Kopiera värdet client-id och klistra in det i en redigerare som ska användas senare.

  3. För närvarande tillåter en Azure Data Manager for Energy-instans att en app-id associeras med en instans.

    Viktigt!

    Det client-id som skickas som ett värde i API-anropen för berättigande måste vara samma som användes för att etablera din Azure Data Manager för Energy-instans.

    Skärmbild som visar hur du hittar klient-ID:t för din registrerade app.

Hitta klienthemlighet

A client-secret är ett strängvärde som appen kan använda i stället för ett certifikat för att identifiera sig själv. Det kallas ibland för ett programlösenord.

  1. Gå till Appregistreringar.

  2. Under avsnittet Hantera väljer du Certifikat och hemligheter.

  3. Välj Ny klienthemlighet för att skapa en klienthemlighet för klient-ID:t som du använde för att skapa din Azure Data Manager for Energy-instans.

  4. Registrera hemlighetens värde för senare användning i klientprogramkoden.

    Åtkomsttoken för app-id och client-secret har infrastrukturadministratörens åtkomst till instansen.

    Varning

    Glöm inte att registrera hemlighetens värde. Det här hemliga värdet visas aldrig igen när du har lämnat den här sidan för att skapa klienthemligheter.

    Skärmbild som visar hur du hittar klienthemligheten.

Sök efter omdirigerings-uri

Appens redirect-uri , där appen skickar och tar emot autentiseringssvaren. Den måste exakt matcha en av de omdirigerings-URI:er som du registrerade i portalen, förutom att den måste vara URL-kodad.

  1. Gå till Appregistreringar.
  2. Under avsnittet Hantera väljer du Autentisering.
  3. redirect-uri Hämta (eller svars-URL) för din app för att ta emot svar från Microsoft Entra-ID.

Skärmbild som visar omdirigerings-URI.

Hitta adme-url:en för din Azure Data Manager for Energy-instans

  1. Skapa en Azure Data Manager for Energy-instans med hjälp av ovanstående client-id genererade.

  2. Gå till sidan Översikt över Azure Data Manager för energi på Azure-portalen.

  3. I fönstret Essentials kopierar du URI:n.

    Skärmbild som visar hur du hittar URI:n för Azure Data Manager for Energy-instansen.

Hitta datapartitions-ID

Du har två sätt att hämta listan över datapartitioner i din Azure Data Manager for Energy-instans.

  • Alternativ 1: Gå till menyalternativet Datapartitioner i avsnittet Avancerat i azure datahanteraren för energi.

    Skärmbild som visar hur du hittar datapartitions-ID:t från Azure Data Manager for Energy-instansen.

  • Alternativ 2: Välj vy under fältet Datapartitioner under fönstret Essentials i azure datahanteraren för energiöversikt.

    Skärmbild som visar hur du hittar datapartitions-ID:t från översiktssidan för Azure Data Manager for Energy-instansen.

    Skärmbild som visar hur du hittar datapartitions-ID från sidan Översikt för Azure Data Manager for Energy-instans med datapartitionerna.

Sök efter domän

Som standard domain är dataservices.energy för alla Azure Data Manager for Energy-instanser.

Generera klient-id-autentiseringstoken

Kör följande curl-kommando i Azure Cloud Bash när du har ersatt platshållarvärdena med motsvarande värden som hittades tidigare i föregående steg. Åtkomsttoken i svaret är autentiseringstoken client-id .

Begärandeformat

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>'

Exempelsvar

    {
        "token_type": "Bearer",
        "expires_in": 86399,
        "ext_expires_in": 86399,
        "access_token": "abcdefgh123456............."
    }

Generera användarautentiseringstoken

Att generera en användares autentiseringstoken är en tvåstegsprocess.

Hämta auktoriseringskoden

Det första steget för att hämta en åtkomsttoken för många OpenID-Anslut-flöden (OIDC) och OAuth 2.0 är att omdirigera användaren till Microsofts identitetsplattform /authorize slutpunkten. Microsoft Entra-ID loggar in användaren och begär deras medgivande för de behörigheter som din app begär. I flödet för beviljande av auktoriseringskod returnerar Microsoft Entra-ID:t en auktoriseringskod till din app som den kan lösa in på Microsofts identitetsplattform /token slutpunkt för en åtkomsttoken.

  1. Förbered begärandeformatet med hjälp av parametrarna.

    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
    
  2. När du har ersatt parametrarna kan du klistra in begäran i URL:en för valfri webbläsare och välja Retur.

  3. Logga in på Azure-portalen om du inte redan är inloggad.

  4. Du kanske ser "Hmmm... kan inte nå den här sidans felmeddelande i webbläsaren. Du kan ignorera det.

    Skärmbild av omdirigering av localhost.

  5. Webbläsaren omdirigeras till http://localhost:8080/?code={authorization code}&state=... vid lyckad autentisering.

  6. Kopiera svaret från URL-fältet i webbläsaren och hämta texten mellan code= och &state.

    http://localhost:8080/?code=0.BRoAv4j5cvGGr0...au78f&state=12345&session....
    
  7. Behåll detta authorization-code praktiskt för framtida användning.

    Parameter Description
    kod Auktoriseringskoden som appen begärde. Appen kan använda auktoriseringskoden för att begära en åtkomsttoken för målresursen. Auktoriseringskoder är kortlivade. Vanligtvis upphör de att gälla efter cirka 10 minuter.
    tillstånd Om en tillståndsparameter ingår i begäran bör samma värde visas i svaret. Appen bör kontrollera att tillståndsvärdena i begäran och svaret är identiska. Den här kontrollen hjälper till att identifiera CSRF-attacker mot klienten.
    session_state Ett unikt värde som identifierar den aktuella användarsessionen. Det här värdet är ett GUID, men det bör behandlas som ett ogenomskinliga värde som skickas utan undersökning.

Varning

Det går inte att köra URL:en i Postman eftersom det krävs extra konfiguration för tokenhämtning.

Hämta en autentiseringstoken och en uppdateringstoken

Det andra steget är att hämta autentiseringstoken och uppdateringstoken. Din app använder auktoriseringskoden som togs emot i föregående steg för att begära en åtkomsttoken genom att skicka en POST-begäran till /token slutpunkten.

Begärandeformat

  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'

Exempelsvar

{
  "token_type": "Bearer",
  "scope": "User.Read profile openid email",
  "expires_in": 4557,
  "access_token": "eyJ0eXAiOiJKV1QiLCJub25jZSI6IkJuUXdJd0ZFc...",
  "refresh_token": "0.ARoAv4j5cvGGr0GRqy180BHbR8lB8cvIWGtHpawGN..."
}
Parameter Description
token_type Anger värdet för tokentyp. Den enda typ som Microsoft Entra ID stöder är Bearer.
omfattning En blankstegsavgränsad lista över De Microsoft Graph-behörigheter som åtkomsttoken är giltig för.
expires_in Hur länge åtkomsttoken är giltig (i sekunder).
access_token Den begärda åtkomsttoken. Din app kan använda den här token för att anropa Microsoft Graph.
refresh_token En OAuth 2.0-uppdateringstoken. Din app kan använda den här token för att hämta extra åtkomsttoken när den aktuella åtkomsttoken upphör att gälla. Uppdateringstoken är långlivade och kan användas för att behålla åtkomsten till resurser under längre tidsperioder.

Mer information om hur du genererar en användaråtkomsttoken och använder en uppdateringstoken för att generera en ny åtkomsttoken finns i Generera uppdateringstoken.

OSDU® är ett varumärke som tillhör The Open Group.

Nästa steg

Mer information om hur du använder den genererade uppdateringstoken finns i: