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
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.
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.
Abrufen von Parametern
Sie können die Parameter auch ermitteln, nachdem die App im Azure-Portal registriert wurde.
Suchen der Mandanten-ID (tenant-id)
Wechseln Sie zum Microsoft Entra-Konto für Ihre Organisation. Sie können in der Suchleiste des Azure-Portals nach Microsoft Entra ID suchen.
Suchen Sie auf der Registerkarte Übersicht im Abschnitt Grundlegende Informationen nach Mandanten-ID.
Kopieren Sie den
tenant-ID
-Wert, und fügen Sie ihn zur späteren Verwendung in einen Editor ein.
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.
Rufen Sie die Seite Übersicht für Azure Data Manager for Energy auf. Suchen Sie im Bereich Zusammenfassung nach Client-ID.
Kopieren Sie den
client-id
-Wert, und fügen Sie ihn zur späteren Verwendung in einen Editor ein.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.
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.
Gehen Sie zu App-Registrierungen.
Wählen Sie im Abschnitt Verwalten die Option Zertifikate und Geheimnisse aus.
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.
Notieren Sie sich den Wert des Geheimnisses zur späteren Verwendung in Ihrem Clientanwendungscode.
Das Zugriffstoken von
app-id
undclient-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.
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.
- Gehen Sie zu App-Registrierungen.
- Wählen Sie im Abschnitt Verwalten die Option Authentifizierung aus.
- Rufen Sie
redirect-uri
(bzw. die Antwort-URL) für Ihre App ab, um Antworten von Microsoft Entra ID zu empfangen.
Suchen von „adme-url“ für Ihre Instanz von Azure Data Manager for Energy
Erstellen Sie mithilfe der oben generierten Client-ID (
client-id
) eine Azure Data Manager for Energy-Instanz.Rufen Sie im Azure-Portal die Seite Übersicht für Azure Data Manager for Energy auf.
Kopieren Sie den URI im Bereich Zusammenfassung.
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.
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.
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.
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
Nachdem Sie die Parameter ersetzt haben, können Sie die Anforderung in die URL eines beliebigen Browsers einfügen und die EINGABETASTE drücken.
Melden Sie sich beim Azure-Portal an, wenn Sie noch nicht angemeldet sind.
Möglicherweise wird im Browser eine Fehlermeldung mit dem Hinweis angezeigt, dass diese Seite nicht erreichbar ist. Sie kann daher ignoriert werden.
Der Browser wird nach erfolgreicher Authentifizierung zu
http://localhost:8080/?code={authorization code}&state=...
umgeleitet.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....
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: