Abläufe von Aktualisierungstoken aktualisieren
Aktualisierungstoken enthalten die Informationen, die zum Abrufen eines neuen Zugriffstokens erforderlich sind. Mit anderen Worten: Wenn ein Zugriffstoken für den Zugriff auf eine bestimmte Ressource erforderlich ist, kann ein Client ein Aktualisierungstoken verwenden, um ein neues Zugriffstoken abzurufen, das vom Authentifizierungsserver ausgegeben wird.
Ein gängiger Anwendungsfall ist das Abrufen neuer Zugriffstoken, nachdem alte Token abgelaufen sind, z. B. ein Zugriffstoken, das in einer mobilen App abläuft. Die App sendet das Aktualisierungstoken, um ein neues Zugriffstoken zu erhalten, ohne dass das Benutzerkennwort gecacht werden muss.
Aktualisierungstoken laufen ab, sind jedoch in der Regel langlebig.
Der Standardwert für das Attribut
refreshTokenExpiry beträgt sieben Tage. Der Wert wird in Sekunden angegeben: 604800.Ablaufwert des aktuellen Aktualisierungstokens abrufen
Erstellen Sie eine GET-Anforderung an den Endpunkt /Apps, und fordern Sie eine bestimmte App-ID an. Geben Sie dann das Attribut refreshTokenExpiry an.
Anforderungsbeispiel
GET <domainURL>/admin/v1/Apps/{{appID}}?attributes=refreshTokenExpiry
Antwortbeispiel
Das Attribut refreshTokenExpiry wird in der Antwort zurückgegeben (in Fettschrift im Beispiel).
{
"isAliasApp": false,
"displayName": "ResourceOwner",
"refreshTokenExpiry": 604800,
"id": "{{appID}}",
"basedOnTemplate": {
"value": "CustomWebAppTemplateId"
}
}
Alternativ können Sie eine GET-Anforderung an den Endpunkt /Apps ausführen und eine bestimmte App-ID anfordern, um alle anwendungsspezifischen Attribute zurückzugeben, einschließlich des Attributs refreshTokenExpiry.
Anforderungsbeispiel
GET <domainURL>/admin/v1/Apps/{{appID}}
Antwortbeispiel
Das Attribut refreshTokenExpiry wird in der Antwort zurückgegeben (in Fettschrift im Beispiel).
{
"accessTokenExpiry": 3600,
"clientType": "confidential",
"isAliasApp": false,
"audience": "<domainURL>",
"meta": {
"created": "2022-06-25T16:10:26.953Z",
"lastModified": "2022-06-25T20:37:14.039Z",
"resourceType": "App",
"location": "https://<domainURL>/admin/v1/Apps/9fc12da9eecd4927a9ef88512ce5612e"
},
"active": true,
"isLoginTarget": true,
"idcsCreatedBy": {
"display": "admin opc",
"type": "User",
"value": "855344f8015347e1a26c1ac9b2a2898e",
"$ref": "https://<domainURL>/admin/v1/Users/855344f8015347e1a26c1ac9b2a2898e"
},
"displayName": "ResourceOwner",
"showInMyApps": false,
"isMobileTarget": false,
"allowOffline": true,
"isUnmanagedApp": false,
"idcsLastModifiedBy": {
"display": "OAuthClient",
"type": "App",
"value": "66efab799b084c21bf84edcf1f587380",
"$ref": "https://<domainURL>/admin/v1/Apps/66efab799b084c21bf84edcf1f587380"
},
"isOPCService": false,
"refreshTokenExpiry": 604800,
"name": "3fd7476a48a94381bd5e1bc88cc92021",
"isOAuthClient": true,
"isManagedApp": false,
"isSamlServiceProvider": false,
"infrastructure": false,
"allUrlSchemesAllowed": true,
"trustScope": "Explicit",
"id": "9fc12da9eecd4927a9ef88512ce5612e",
"isWebTierPolicy": false,
"loginMechanism": "OIDC",
"allowAccessControl": false,
"isOAuthResource": true,
"migrated": false,
"isKerberosRealm": false,
"attrRenderingMetadata": [
{
"name": "aliasApps",
"visible": false
}
],
"basedOnTemplate": {
"lastModified": "2022-05-04T10:47:12Z",
"value": "CustomWebAppTemplateId",
"$ref": "https://<domainURL>/admin/v1/AppTemplates/CustomWebAppTemplateId"
},
"redirectUris": [
"http://localhost:8943"
],
"allowedGrants": [
"client_credentials",
"refresh_token",
"authorization_code"
],
"schemas": [
"urn:ietf:params:scim:schemas:oracle:idcs:App"
],
"clientSecret": "this-is-not-the-secret",
"grantedAppRoles": [
{
"value": "29722be952c14f9fac5237e5dd088660",
"$ref": "https://<domainURL>/admin/v1/AppRoles/29722be952c14f9fac5237e5dd088660",
"appId": "IDCSAppId",
"display": "identity domain administrator",
"type": "direct",
"appName": "IDCSApp",
"adminRole": true
},
{
"value": "6aa28be4b79143099e90e5dcdd820844",
"$ref": "https://<domainURL>/admin/v1/AppRoles/6aa28be4b79143099e90e5dcdd820844",
"appId": "IDCSAppId",
"display": "Me",
"type": "direct",
"appName": "IDCSApp",
"adminRole": true
},
{
"value": "99224c8907d84560b9621dcda9ecb8b4",
"$ref": "https://<domainURL>/admin/v1/AppRoles/99224c8907d84560b9621dcda9ecb8b4",
"appId": "IDCSAppId",
"display": "Cloud Gate",
"type": "direct",
"appName": "IDCSApp",
"adminRole": true
}
]
}
Wert des Aktualisierungstokens ändern
Um den Attributwert refreshTokenExpiry zu aktualisieren, senden Sie eine PATCH-Anforderung an den Endpunkt /Apps, und geben Sie die App-ID an. Definieren Sie dann den aktualisierten Attributwert refreshTokenExpiry in der Payload.
Anforderungsbeispiel
PATCH <domainURL>/admin/v1/Apps/{{appid}}
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [{
"op": "replace",
"path": "refreshTokenExpiry",
"value": 904800
}
]
}
Antwortbeispiel
Die zurückgegebene Antwort enthält den aktualisierten Attributwert refreshTokenExpiry (im Beispiel in Fettschrift).
{
"accessTokenExpiry": 3600,
"clientType": "confidential",
"isAliasApp": false,
"audience": "https://<domainURL>",
"meta": {
"created": "2022-06-25T16:10:26.953Z",
"lastModified": "2022-06-25T20:37:14.039Z",
"resourceType": "App",
"location": "https://<domainURL>/admin/v1/Apps/9fc12da9eecd4927a9ef88512ce5612e"
},
"active": true,
"isLoginTarget": true,
"idcsCreatedBy": {
"display": "admin opc",
"type": "User",
"value": "855344f8015347e1a26c1ac9b2a2898e",
"$ref": "https://<domainURL>/admin/v1/Users/855344f8015347e1a26c1ac9b2a2898e"
},
"displayName": "ResourceOwner",
"showInMyApps": false,
"isMobileTarget": false,
"allowOffline": true,
"isUnmanagedApp": false,
"idcsLastModifiedBy": {
"display": "OAuthClient",
"type": "App",
"value": "66efab799b084c21bf84edcf1f587380",
"$ref": "https://<domainURL>/admin/v1/Apps/66efab799b084c21bf84edcf1f587380"
},
"isOPCService": false,
"refreshTokenExpiry": 904800,
"name": "3fd7476a48a94381bd5e1bc88cc92021",
"isOAuthClient": true,
"isManagedApp": false,
"isSamlServiceProvider": false,
"infrastructure": false,
"allUrlSchemesAllowed": true,
"trustScope": "Explicit",
"id": "9fc12da9eecd4927a9ef88512ce5612e",
"isWebTierPolicy": false,
"loginMechanism": "OIDC",
"allowAccessControl": false,
"isOAuthResource": true,
"migrated": false,
"isKerberosRealm": false,
"attrRenderingMetadata": [
{
"name": "aliasApps",
"visible": false
}
],
"basedOnTemplate": {
"lastModified": "2022-05-04T10:47:12Z",
"value": "CustomWebAppTemplateId",
"$ref": "https://<domainURL>/admin/v1/AppTemplates/CustomWebAppTemplateId"
},
"redirectUris": [
"http://localhost:8943"
],
"allowedGrants": [
"client_credentials",
"refresh_token",
"authorization_code"
],
"schemas": [
"urn:ietf:params:scim:schemas:oracle:idcs:App"
],
"clientSecret": "this-is-not-the-secret",
"grantedAppRoles": [
{
"value": "29722be952c14f9fac5237e5dd088660",
"$ref": "https://<domainURL>/admin/v1/AppRoles/29722be952c14f9fac5237e5dd088660",
"appId": "IDCSAppId",
"display": "identity domain administrator",
"type": "direct",
"appName": "IDCSApp",
"adminRole": true
},
{
"value": "6aa28be4b79143099e90e5dcdd820844",
"$ref": "https://<domainURL>/admin/v1/AppRoles/6aa28be4b79143099e90e5dcdd820844",
"appId": "IDCSAppId",
"display": "Me",
"type": "direct",
"appName": "IDCSApp",
"adminRole": true
},
{
"value": "99224c8907d84560b9621dcda9ecb8b4",
"$ref": "https://<domainURL>/admin/v1/AppRoles/99224c8907d84560b9621dcda9ecb8b4",
"appId": "IDCSAppId",
"display": "Cloud Gate",
"type": "direct",
"appName": "IDCSApp",
"adminRole": true
}
]
}