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 sub_type-Claim, der den vom Token übertragenen Subject-Typ (sub-Claim) angibt. Wenn das Token ausschließlich für den Client 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 /Asserter der Identitätsdomains aufzurufen. Mit diesem Endpunkt können Sie Anwendungsrollen für einen Client anfordern, der durch den Claim sub angegeben wird. Der Wert des Claims sub_type wird mit dem Anforderungsparameter SubjectType an /Asserter übergeben. Ohne explizit client an den Endpunkt /Asserter 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 Endpunkts /Asserter und der Claim sub_type des Zugriffstokens von Entitys verwendet werden, die das Zugriffstoken verarbeiten, um den AppRoles des Clients zu bestätigen.

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.

Hinweis

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 
}