Zugriffstoken
Bei erfolgreichen OAuth-Transaktionen muss der Autorisierungsserver der IAM-Identitätsdomain Zugriffstoken ausgeben, die zur Authentifizierung eines API-Aufrufs verwendet werden können. Ein Zugriffstoken stellt eine Autorisierung dar, die für die Clientanwendung mit Zugangsdaten für den Zugriff auf geschützte OAuth-Ressourcen ausgestellt wurde.
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 je nach dem in der Anwendung angegebenen Berechtigungstyp ein Zugriffstoken anfordern, um auf geschützte Endpunkte auf unterschiedliche Weise zuzugreifen. 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
|
Gibt die Entität (Benutzer/Client) an, die den Zugriff anfordert. Die Subject-ID ist lokal eindeutig und soll vom Client verwendet werden. Im Fall von IDPropagation-Token enthält dies die Benutzer-ID des Benutzers. In anderen Fällen enthält es die clientID. |
sub_mappingattr*
|
Das Attribut für die Suche nach sub im ID-Speicher. Dies ist die Zuordnung attr aus SSO-Einstellungen. |
sub_type
|
Das Zugriffstoken für Identitätsdomains enthält den Entitys, die das Zugriffstoken verarbeiten und validieren, können den Wert des |
user_id*
|
Die GUID der Identitätsdomains des Benutzers aus dem AuthN-Kontext für Benutzertoken. Nicht in Nur-Client-Token vorhanden. |
user_displayname*
|
Anzeigename der Identitätsdomains des Benutzers (maximal 255 ASCII-Zeichen) aus AuthN Context. Nicht in Nur-Client-Token vorhanden. |
user_tenantname*
|
Der Benutzermandantenname (maximal 255 ASCII-Zeichen). Kann sich bei mandantenübergreifenden Anwendungsfällen vom Ressourcenmandanten unterscheiden. Die GUID des Mandanten wird speziell nicht im Token gespeichert und ist nicht in Nur-Client-Token vorhanden. |
tenant*
|
Der Name des Ressourcenmandanten bei der Anforderung des Zugriffstokens (maximal 255 ASCII-Zeichen). Die GUID des Ressourcenmandanten wird speziell nicht im Token gespeichert. |
user.tenant.name*
|
Entspricht: 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 Epoche) als die JWT ausgestellt wurde. UNIX Epoch Time ist eine JSON-Zahl, die die Anzahl der Sekunden von 1970-01-01T0:0:0Z darstellt, wie in der koordinierten Weltzeit (UTC) bis zum Datum/Uhrzeit gemessen. |
sid
|
Die Session-ID aus dem Identitätstoken ist das Identitätstoken, das während der Tokenanforderung verwendet wurde. |
exp
|
Die Zeit (UNIX-Epochenzeit), zu der der JWT abläuft (in Sekunden). Siehe Tabelle "Tokenablauf". |
scope
|
Die durch Leerzeichen getrennte Zeichenfolge, die Geltungsbereiche enthält. |
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 sendet. Wenn Cloud Gate Anforderungen stellt, ist dies die GUID der im globalen oracle-Mandanten definierten OAuth CloudGate. |
client_name*
|
OAuth client_name. Dies ist der Name des OAuth-Clients, der die Anforderung sendet. Wenn CloudGate Anforderungen stellt, ist dies der Name des CloudGate OAuth-Clients, der im globalen oracle-Mandanten definiert ist. |
client_tenantname*
|
Client-Mandantenname (max. 255). Kann sich bei mandantenübergreifenden Anwendungsfällen vom Ressourcenmandanten unterscheiden. |
Ablauf eines benutzerdefinierten Zugriffstokens angeben
Verwenden Sie die folgende Beispielanforderung und -antwort, um einen benutzerdefinierten Ablaufwert für das Zugriffstoken in einer Zugriffstokenanforderung an eine Identitätsdomain anzugeben.
Der Ablauf des benutzerdefinierten Tokens unterliegt weiterhin den allgemeinen Ablaufregeln des Zugriffstokens. 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
}