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 sub_type-Claim, der den Typ des Subjects (sub-Claim) angibt, der vom Token übermittelt wird. Wenn das Token ausschließlich im Auftrag des Clients ausgegeben wird, lautet der Wert des Claims client. Andernfalls lautet der Wert des Claims user., wenn das Token eine Benutzeridentität propagiert.

Entitys, die das Zugriffstoken verarbeiten und validieren, können den Wert des sub_type-Claims verwenden, um die REST-API der Identitätsdomains /Asserter aufzurufen. Verwenden Sie diesen Endpunkt, um Anwendungsrollen für einen Client anzufordern, der mit dem Claim sub angegeben wird. Der Wert des Claims sub_type wird mit dem Anforderungsparameter SubjectType an /Asserter übergeben. Ohne client speziell an den /Asserter-Endpunkt zu übergeben, gehen Identitätsdomains normalerweise davon aus, dass der Asserter Informationen für einen Benutzer und nicht für einen Client anfordert. Daher können der Eingabeparameter SubjectType des /Asserter-Endpunkts und der sub_type-Claim des Zugriffstokens von Entitys verwendet werden, die das Zugriffstoken verarbeiten, um die AppRoles des Clients durchzusetzen.

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.

Hinweis

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 
}