Generieren eines Authentifizierungstokens

In diesem Artikel erfahren Sie, wie Sie das Dienstprinzipal-Authentifizierungstoken, das Authentifizierungstoken eines Benutzers und das Aktualisierungstoken eines Benutzers generieren.

Registrieren Ihrer Anwendung in Microsoft Entra ID

  1. Um die Azure Data Manager for Energy-Plattform bereitzustellen, müssen Sie Ihre App auf der Azure-Portal-Seite für die App-Registrierung registrieren. Sie können entweder ein Microsoft-Konto oder ein Geschäfts- oder Schulkonto verwenden, um eine App zu registrieren. Schritte zum Konfigurieren finden Sie in der Dokumentation zum Registrieren Ihrer App.

  2. Wenn im Abschnitt „App-Übersicht“ keine Umleitungs-URIs angegeben sind, können Sie Plattform hinzufügen>Web auswählen, http://localhost:8080 hinzufügen und Speichern auswählen.

    Screenshot: Hinzufügen des URI zur App

Abrufen von Parametern

Sie können die Parameter auch ermitteln, nachdem die App im Azure-Portal registriert wurde.

Suchen der Mandanten-ID (tenant-id)

  1. Wechseln Sie zum Microsoft Entra-Konto für Ihre Organisation. Sie können in der Suchleiste des Azure-Portals nach Microsoft Entra ID suchen.

  2. Suchen Sie auf der Registerkarte Übersicht im Abschnitt Grundlegende Informationen nach Mandanten-ID.

  3. Kopieren Sie den tenant-ID-Wert, und fügen Sie ihn zur späteren Verwendung in einen Editor ein.

    Screenshot: Suchen nach Microsoft Entra ID

    Screenshot: Suchen der Mandanten-ID

Suchen der Client-ID (client-id)

Eine Client-ID (client-id) ist der gleiche Wert, den Sie auch zum Registrieren Ihrer Anwendung während der Bereitstellung Ihrer Azure Data Manager for Energy-Instanz verwenden. Er wird häufig als app-id bezeichnet.

  1. Rufen Sie die Seite Übersicht für Azure Data Manager for Energy auf. Suchen Sie im Bereich Zusammenfassung nach Client-ID.

  2. Kopieren Sie den client-id-Wert, und fügen Sie ihn zur späteren Verwendung in einen Editor ein.

  3. Derzeit kann in einer Azure Data Manager for Energy-Instanz eine App-ID (app-id) einer Instanz zugeordnet werden.

    Wichtig

    Die Client-ID (client-id), die als Wert in den Berechtigungs-API-Aufrufen übergeben wird, muss mit der identisch sein, die für die Bereitstellung Ihrer Azure Data Manager for Energy-Instanz verwendet wurde.

    Screenshot: Suchen der Client-ID für Ihre registrierte App

Suchen des geheimen Clientschlüssels (client-secret)

Ein geheimer Clientschlüssel (client-secret) ist ein Zeichenfolgenwert, der von Ihrer App anstelle eines Zertifikats für die Identifizierung verwendet werden kann. Er wird manchmal auch als Anwendungskennwort bezeichnet.

  1. Gehen Sie zu App-Registrierungen.

  2. Wählen Sie im Abschnitt Verwalten die Option Zertifikate und Geheimnisse aus.

  3. Wählen Sie Neuer geheimer Clientschlüssel aus, um einen geheimen Clientschlüssel für die Client-ID zu erstellen, die Sie zum Erstellen Ihrer Azure Data Manager for Energy-Instanz verwendet haben.

  4. Notieren Sie sich den Wert des Geheimnisses zur späteren Verwendung in Ihrem Clientanwendungscode.

    Das Zugriffstoken von app-id und client-secret verfügt über Infrastrukturadministratorzugriff auf die Instanz.

    Achtung

    Vergessen Sie nicht, sich den Wert des Geheimnisses zu notieren. Dieser Geheimniswert wird nicht mehr angezeigt, nachdem Sie die Seite zum Erstellen des geheimen Clientschlüssels verlassen haben.

    Screenshot: Suchen des geheimen Clientschlüssels

Suchen des Umleitungs-URI (redirect-uri)

Der Umleitungs-URI (redirect-uri) Ihrer App, an den bzw. von dem Ihre App die Authentifizierungsantworten sendet und empfängt. Er muss genau mit einem der Umleitungs-URIs übereinstimmen, die Sie im Portal registriert haben, mit dem Unterschied, dass er URL-codiert sein muss.

  1. Gehen Sie zu App-Registrierungen.
  2. Wählen Sie im Abschnitt Verwalten die Option Authentifizierung aus.
  3. Rufen Sie redirect-uri (bzw. die Antwort-URL) für Ihre App ab, um Antworten von Microsoft Entra ID zu empfangen.

Screenshot: redirect-uri

Suchen von „adme-url“ für Ihre Instanz von Azure Data Manager for Energy

  1. Erstellen Sie mithilfe der oben generierten Client-ID (client-id) eine Azure Data Manager for Energy-Instanz.

  2. Rufen Sie im Azure-Portal die Seite Übersicht für Azure Data Manager for Energy auf.

  3. Kopieren Sie den URI im Bereich Zusammenfassung.

    Screenshot: Suchen des URI für die Azure Data Manager for Energy-Instanz

Suchen der Datenpartitions-ID (data-partition-id)

Sie haben zwei Möglichkeiten, die Liste der Datenpartitionen in Ihrer Azure Data Manager for Energy-Instanz abzurufen.

  • Option 1: Navigieren Sie im Abschnitt Erweitert der Benutzeroberfläche von Azure Data Manager for Energy zum Menüelement Datenpartitionen.

    Screenshot: Suchen der Datenpartitions-ID in der Azure Data Manager for Energy-Instanz

  • Option 2: Wählen Sie im Bereich Zusammenfassung der Seite Übersicht für Azure Data Manager for Energy unterhalb des Felds Datenpartitionen die Option Anzeigen aus.

    Screenshot: Suchen der Datenpartitions-ID auf der Übersichtsseite der Azure Data Manager for Energy-Instanz

    Screenshot: Suchen der Datenpartitions-ID auf der Übersichtsseite mit den Datenpartitionen der Azure Data Manager for Energy-Instanz

Suchen der Domäne

domain ist standardmäßig „dataservices.energy“ für alle Azure Data Manager for Energy-Instanzen.

Generieren des Client-ID-Authentifizierungstokens

Führen Sie den folgenden cURL-Befehl in Azure Cloud Bash aus, nachdem Sie die Platzhalterwerte durch die entsprechenden Werte ersetzt haben, die Sie in den vorherigen Schritten ermittelt haben. Das Zugriffstoken in der Antwort ist das client-id-Authentifizierungstoken.

Anforderungsformat

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

Beispiel für eine Antwort

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

Generieren des Benutzerauthentifizierungstokens

Das Authentifizierungstoken eines Benutzers wird in zwei Schritten erstellt.

Abrufen des Autorisierungscodes

Der erste Schritt zum Abrufen eines Zugriffstokens für viele OpenID Connect-Flows (OIDC) und OAuth 2.0-Flows besteht darin, Benutzer an den /authorize-Endpunkt von Microsoft Identity Platform umzuleiten. Microsoft Entra ID meldet den Benutzer an und fordert die Einwilligung für die Berechtigungen an, die Ihre App anfordert. Im Genehmigungsflow für den Autorisierungscode gibt Microsoft Entra ID nach der Einwilligung einen Autorisierungscode an Ihre App zurück, die ihn auf dem /token-Endpunkt von Microsoft Identity Platform für ein Zugriffstoken einlösen kann.

  1. Bereiten Sie das Anforderungsformat mithilfe der Parameter vor.

    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. Nachdem Sie die Parameter ersetzt haben, können Sie die Anforderung in die URL eines beliebigen Browsers einfügen und die EINGABETASTE drücken.

  3. Melden Sie sich beim Azure-Portal an, wenn Sie noch nicht angemeldet sind.

  4. Möglicherweise wird im Browser eine Fehlermeldung mit dem Hinweis angezeigt, dass diese Seite nicht erreichbar ist. Sie kann daher ignoriert werden.

    Screenshot: Localhost-Umleitung

  5. Der Browser wird nach erfolgreicher Authentifizierung zu http://localhost:8080/?code={authorization code}&state=... umgeleitet.

  6. Kopieren Sie die Antwort aus der URL-Leiste des Browsers, und rufen Sie den Text zwischen code= und &state ab.

    http://localhost:8080/?code=0.BRoAv4j5cvGGr0...au78f&state=12345&session....
    
  7. Halten Sie den Autorisierungscode (authorization-code) für die spätere Verwendung bereit.

    Parameter Beschreibung
    code Der Autorisierungscode, den die App angefordert hat. Die App kann den Autorisierungscode zum Anfordern eines Zugriffstokens für die Zielressource verwenden. Autorisierungscodes sind von kurzer Lebensdauer. In der Regel laufen sie nach etwa 10 Minuten ab.
    state Wenn ein Statusparameter in der Anforderung enthalten ist, sollte der gleiche Wert in der Antwort angezeigt werden. Die App sollte bestätigen, dass die state-Werte in der Anforderung und der Antwort identisch sind. Diese Überprüfung trägt zur Erkennung von CSRF-Angriffen auf den Client bei.
    session_state Ein eindeutiger Wert, der die aktuelle Benutzersitzung identifiziert. Dieser Wert ist eine GUID, sollte jedoch als nicht transparenter Wert behandelt werden, der ohne Prüfung übergeben wird.

Warnung

Das Ausführen der URL in Postman funktioniert nicht, da eine zusätzliche Konfiguration für den Tokenabruf erforderlich ist.

Abrufen eines Authentifizierungstokens und eines Aktualisierungstokens

Der zweite Schritt besteht darin, das Authentifizierungstoken und das Aktualisierungstoken abzurufen. Ihre App verwendet den im vorherigen Schritt empfangenen Autorisierungscode, um ein Zugriffstoken anzufordern, indem eine POST-Anforderung an den /token-Endpunkt gesendet wird.

Anforderungsformat

  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'

Beispiel für eine Antwort

{
  "token_type": "Bearer",
  "scope": "User.Read profile openid email",
  "expires_in": 4557,
  "access_token": "eyJ0eXAiOiJKV1QiLCJub25jZSI6IkJuUXdJd0ZFc...",
  "refresh_token": "0.ARoAv4j5cvGGr0GRqy180BHbR8lB8cvIWGtHpawGN..."
}
Parameter BESCHREIBUNG
token_type Gibt den Wert des Tokentyps an. Der einzige Typ, der Microsoft Entra ID unterstützt, ist Bearer.
scope Eine durch Leerzeichen getrennte Liste der Microsoft Graph-Berechtigungen, für die das Zugriffstoken gültig ist
expires_in Die Gültigkeitsdauer des Zugriffstokens (in Sekunden).
access_token Das angeforderte Zugriffstoken. Ihre App kann dieses Token verwenden, um Microsoft Graph aufzurufen.
refresh_token Ein Aktualisierungstoken von OAuth 2.0. Ihre App kann dieses Token verwenden, um nach Ablauf der aktuellen Zugriffstoken zusätzliche Zugriffstoken zu erhalten. Aktualisierungstoken sind langlebig und können verwendet werden, um den Zugriff auf Ressourcen für längere Zeit beizubehalten.

Weitere Informationen zum Generieren eines Benutzerzugriffstokens und zum Verwenden eines Aktualisierungstokens zum Generieren eines neuen Zugriffstokens finden Sie unter Generieren von Aktualisierungstoken.

OSDU® ist eine Marke von The Open Group.

Nächste Schritte

Weitere Informationen zur Verwendung des generierten Aktualisierungstokens finden Sie hier: