Zugriffstoken
Für erfolgreiche OAuth-Transaktionen muss der IAM-Identitätsdomainautorisierungsserver Zugriffstoken ausgeben, die zur Authentifizierung eines API-Aufrufs verwendet werden können. Ein Zugriffstoken stellt eine Autorisierung dar, die an die Clientanwendung ausgegeben wird und Zugangsdaten für den Zugriff auf geschützte OAuth-Ressourcen enthält.
Das Zugriffstoken stellt eine Session (mit Geltungsbereich und Ablauf) bereit, mit der Ihre Clientanwendung Aufgaben in der REST-API für Identitätsdomains ausführen kann. Das Zugriffstoken kann entweder über die Identitätsdomainkonsole oder programmgesteuert abgerufen werden (einen REST-API-Aufruf mit der Anwendungsclient-ID und dem Secret ausführen). Anwendungen können ein Zugriffstoken anfordern, um auf verschiedene Arten auf geschützte Endpunkte zuzugreifen, je nach dem in der Anwendung angegebenen Berechtigungstyp. Eine Berechtigung ist ein Berechtigungsnachweis, der die Autorisierung des Ressourceneigentümers für den Zugriff auf eine geschützte Ressource darstellt. Siehe Zugriffsberechtigungstypen.
| Name | Wert |
|---|---|
tok_type*
|
Identifiziert den Tokentyp: AT |
iss
|
Der Principal, der das Token ausgegeben hat: https://<domainURL>
|
sub
|
Identifiziert die Entität (Benutzer/Client), die den Zugriff anfordert. Die Subject-ID ist lokal eindeutig und soll vom Client verwendet werden. Bei IDPropagation-Token enthält dies die Benutzer-ID des Benutzers. In anderen Fällen enthält es die clientID. |
sub_mappingattr*
|
Das Attribut, mit dem die sub im ID-Speicher gefunden wird. Dies ist die Zuordnung attr aus SSO-Einstellungen. |
sub_type
|
Das Zugriffstoken der Identitätsdomain enthält den Entitys, die das Zugriffstoken verarbeiten und validieren, können den Wert des |
user_id*
|
Die Identitätsdomain-GUID des Benutzers aus dem Kontext AuthN für Benutzertoken. Nicht in Nur-Client-Token vorhanden. |
user_displayname*
|
Anzeigename der Identitätsdomains des Benutzers (max. 255 ASCII-Zeichen) aus dem Kontext AuthN. Nicht in Nur-Client-Token vorhanden. |
user_tenantname*
|
Der Name des Benutzermandanten (max. 255 ASCII-Zeichen). Kann sich bei mandantenübergreifenden Anwendungsfällen vom Ressourcenmandanten unterscheiden. Die Mandanten-GUID wird speziell nicht im Token gespeichert und ist nicht in Client-only-Token vorhanden. |
tenant*
|
Der Name des Ressourcenmandanten, als die Anforderung für das Zugriffstoken erstellt wurde (maximal 255 ASCII-Zeichen). Die GUID des Ressourcenmandanten wird speziell nicht im Token gespeichert. |
user.tenant.name*
|
Identisch mit tenant. Dies wird aus Gründen der Abwärtskompatibilität verfolgt, bis keine älteren Verbraucher mehr vorhanden sind. Hinweis: Der Mandantenname ist die Identitätsdomain. |
aud
|
Enthält die vom Ressourcenserver erwartete URI-Zeichenfolge, die mit den Ressourcenpräfixen der Ziel-URL übereinstimmt. Mehrere URI-Zeichenfolgen können im AUD-Standardformat angegeben werden. Dies ist der Fall, wenn die OIDC-Anforderung auch Geltungsbereiche für einen anderen Ressourcenserver enthält. Beispiel: ["https://<domainURL>/", "https://example.com"] |
iat
|
Die Zeit (UNIX epoch time), zu der das JWT ausgestellt wurde. UNIX Epoch Time ist eine JSON-Nummer, die für die Anzahl der Sekunden von 1970-01-01T0:0:0Z (gemessen in Coordinated Universal Time (UTC) bis zu Datum und Uhrzeit steht. |
sid
|
Die Session-ID aus dem Identity Token ist das Identity Token, das während der Tokenanforderung verwendet wurde. |
exp
|
Die Zeit (UNIX-Epochenzeit), zu der das JWT abläuft (in Sekunden). Siehe Tabelle "Tokenablauf". |
scope
|
Die durch Leerzeichen getrennte Zeichenfolge mit Geltungsbereichen. |
jti
|
Die vom Server generierte eindeutige ID für die JWT-ID. |
client_id*
|
OAuth-Client-ID. Dies ist die GUID des OAuth-Clients, der die Anforderung stellt. Wenn Cloud Gate Anforderungen stellt, ist dies die GUID der OAuth CloudGate, die im globalen Mandanten "oracle" definiert ist. |
client_name*
|
OAuth client_name. Dies ist der Name des OAuth-Clients, der die Anforderung erstellt. Wenn CloudGate Anforderungen stellt, ist dies der Name des CloudGate OAuth-Clients, der im globalen Mandanten "oracle" definiert ist. |
client_tenantname*
|
Clientmandantenname (max. 255). Kann sich bei mandantenübergreifenden Anwendungsfällen vom Ressourcenmandanten unterscheiden. |
Ablauf eines benutzerdefinierten Zugriffstokens angeben
Mit der folgenden Beispielanforderung und -antwort können Sie einen benutzerdefinierten Ablaufwert für das Zugriffstoken in einer Zugriffstokenanforderung an eine Identitätsdomain angeben.
Der Ablauf des benutzerdefinierten Tokens unterliegt weiterhin den allgemeinen Ablaufregeln für das Zugriffstoken. Siehe Tabelle "Tokenablauf".
Beispielanforderung
curl -k -i
-H 'Authorization: Basic dGVzdERvbWFpbkFkbWluOmZmNGUzNGE3LWVlNGQtNDAzNy1iNmNmLTUwZGVmMmNjMzM5Zg=='
-H 'Content-Type: application/x-www-form-urlencoded; charset=utf-8'
--request POST 'https://<domainURL>/oauth2/v1/token'
-d 'grant_type=client_credentials&scope=urn:opc:idm:__myscopes__%20urn:opc:resource:expiry=300'
Beispielantwort
{
"access_token":"eyJ4NXQjUzIc....q3E8x1tTEwPthTg",
"token_type":"Bearer",
"expires_in":300
}