Benutzerdefinierte Claims verwalten
Mit der REST-API für Identitätsdomains können Sie benutzerdefinierte Claims zu einem Zugriffstoken, einem Identitätstoken oder beiden Token hinzufügen.
Benutzerdefinierte Claims sind Regeln, die Sie einem Token für die Identitätsdomain hinzufügen können. Es gibt kein Limit für die Anzahl der benutzerdefinierten Claims in einem Token. Die Tokengröße ist begrenzt, und die zulässigen Werte sind "8000", "16000", "32000", "128000".
https://<domainURL>/admin/v1/CustomClaims/{id}-
Geben Sie die Header in der cURL-Befehlszeile an:
-H Authorization: Bearer <Access Token> -H Cache-Control: no-cache -H Accept:application/jsonInformationen zum Abrufen eines Zugriffstokens finden Sie unter Mit OAuth 2 für den Zugriff auf die REST-API arbeiten.
-
Erstellen Sie den benutzerdefinierten Claimnamen
MyATCustomClaimund den WertMyATValuefür das Zugriffstoken, indem Sie den folgenden Befehl ausführen:curl -i -X POST https://<domainURL>/admin/v1/CustomClaimsBeispiel
curl -i -X POST https://<domainURL>/admin/v1/CustomClaimsIm Folgenden finden Sie ein Beispiel für einen JSON-Anforderungsbody, um den benutzerdefinierten Claim zu erstellen:
{ "schemas": [ "urn:ietf:params:scim:schemas:oracle:idcs:CustomClaim" ], "name": "MyATCustomClaim", "value": "MyATValue", "expression": false, "mode": "always", "tokenType": "AT", "allScopes": true }Attribut
Beschreibung
nameDer benutzerdefinierte Anspruchsname.
Hinweis: Die maximale Länge beträgt 100 Zeichen.
valueDer benutzerdefinierte Anspruchswert.
Hinweis: Die maximale Länge beträgt 100 Zeichen. Wenn der Wert aus der Auswertung eines Ausdrucks stammt, gibt es keinen Grenzwert.
expressionGeben Sie an, ob der benutzerdefinierte Anspruchswert ein Ausdruck ist. Sie können den Benutzerausdruck mit den Benutzerendpunkten bestimmen.
Wert:
trueoderfalseBeispielbenutzerausdruck
$user.name.formatted expressionmit Wertadmin opc.- Ausdruck
$user.emails.0.typemit dem Wertrecovery. - Ausdruck
$user.emails.1.typemit dem Wertwork. - Ausdruck
$user.urn:ietf:params:scim:schemas:oracle:idcs:extension:user:User.myCustomAttributemit dem WertcustomValue.
Basierend auf Benutzerausdrücken gibt ein Claim entweder ein einzelnes Wertattribut oder alle mit dem Ausdruck verknüpften Attribute zurück. Beispiel: Die folgenden Ausdrücke geben einen einzelnen Wert in einem Array zurück:$user.emails.0.value$(user.emails[0].value)
Während die folgenden Ausdrücke ein Array zurückgeben:$user.emails.*.value$(user.emails[*].value)
allScopesGeben Sie an, ob der benutzerdefinierte Anspruch einem Set von Geltungsbereichen oder allen Geltungsbereichen zugeordnet werden soll.
Wert:
trueoderfalsemodeGeben Sie an, wie der benutzerdefinierte Claim an ein Token angehängt werden soll. always: Der benutzerdefinierte Claim wird an das Token angehängt.
request: Der benutzerdefinierte Claim wird nur dann an das Token angehängt, wenn es angefordert oder überschrieben wird.never: Der benutzerdefinierte Claim wird nicht an das Token angehängt.
tokenTypeGeben Sie den Token-Typ ein.AT: So fügen Sie einen benutzerdefinierten Claim für ein Zugriffstoken hinzu.IT: So fügen Sie einen benutzerdefinierten Claim für ein Identitätstoken hinzu.BOTH: So fügen Sie einen benutzerdefinierten Claim für das Zugriffs- und Identitätstoken hinzu.
scopes
Optional. Der benutzerdefinierte Anspruch wird in Token eingebettet, wenn ein Geltungsbereich im Geltungsbereichsarray in der Tokenanforderung angefordert wird. Sie können entweder
allScopesgleichtrueohne zugehöriges Geltungsbereichsarray angeben oderallScopesgleichfalsemit zugehörigem Geltungsbereichsarray aufweisen.Der folgende Abschnitt enthält ein Beispiel für den Antwort-Body:
{ "schemas": [ "urn:ietf:params:scim:schemas:oracle:idcs:CustomClaim" ], "name": "MyATCustomClaim", "value": "MyATValue", "expression": false, "mode": "always", "tokenType": "AT", "allScopes": true, "id": "ddc7f88bea2a46258c593bddccaf2b86", "meta": { "created": "2022-05-17T04:33:43.640Z", "lastModified": "2022-05-17T04:33:43.640Z", "resourceType": "CustomClaim", "location": "https://<domainURL>/admin/v1/CustomClaims/ddc7f88bea2a46258c593bddccaf2b86" }, "idcsCreatedBy": { "value": "bac027a9500c4db9a09f5cfbcbda5076", "type": "App", "display": "exampleDomainAdmin", "$ref": "https://<domainURL>/admin/v1/Apps/bac027a9500c4db9a09f5cfbcbda5076" }, "idcsLastModifiedBy": { "value": "bac027a9500c4db9a09f5cfbcbda5076", "type": "App", "display": "exampleDomainAdmin", "$ref": "https://<domainURL>/admin/v1/Apps/bac027a9500c4db9a09f5cfbcbda5076" } }Sie können den Benutzerausdruck vom Endpunkt
/admin/v1/Usersableiten. Dies ist die JSON, die für einen Admin-Benutzer zurückgegeben wird.Die Werte werden als Zeichenfolge geparst, und die Fettschrift im Beispiel zeigt, wie die Werte für die folgenden Ausdrücke abgeleitet werden.
Ausdruck
Wert
$user.name.formatted"admin opc"
$user.emails.0.typeDieser und der nächste Ausdruck sind ein nicht beschriftetes Array mit einer Zahl, die bei 0 beginnt, um den Index des Elements im Array anzugeben.
"Wiederherstellung"
$user.emails.1.type"work"
$user.urn:ietf:params:scim:schemas:oracle:idcs:extension:user:User.myCustomAttribute"customValue"
{ "idcsCreatedBy": { "type": "App", "display": "idcssm", "value": "32e72bc93b30417697f323d5fa7bbe2e", "$ref": "https://<domainURL>/admin/v1/Apps/32e72bc93b30417697f323d5fa7bbe2e" }, "id": "60703e0bddcf4dae9add114179bf042d", "meta": { "created": "2022-11-08T02:39:01.932Z", "lastModified": "2022-11-13T09:44:55.668Z", "resourceType": "User", "location": "https://<domainURL>/admin/v1/Users/60703e0bddcf4dae9add114179bf042d" }, "active": true, "displayName": "admin opc", "idcsLastModifiedBy": { "value": "f79371bb03914056821a8afb9da5066d", "display": "idcssso", "type": "App", "$ref": "https://<domainURL>/admin/v1/Apps/f79371bb03914056821a8afb9da5066d" }, "nickName": "TAS_TENANT_ADMIN_USER", "userName": "admin@oracle.com", "urn:ietf:params:scim:schemas:oracle:idcs:extension:user:User": { "isFederatedUser": false, "myCustomAttribute": "customValue" }, "emails": [ { "verified": false, "primary": false, "secondary": false, "value": "admin@oracle.com", "type": "recovery" }, { "verified": false, "primary": true, "secondary": false, "value": "admin@oracle.com", "type": "work" } ], "urn:ietf:params:scim:schemas:oracle:idcs:extension:userState:User": { "locked": { "on": false } }, "name": { "familyName": "opc", "givenName": "admin", "formatted": "admin opc" } } -
Ersetzen Sie alle Attribute für die benutzerdefinierte Claim-ID
ddc7f88bea2a46258c593bddccaf2b86, indem Sie den folgenden Befehl ausführen:curl -i -X PUT https://<domainURL>/admin/v1/CustomClaims/{id}Beispiel
curl -i -X PUT https://<domainURL>/admin/v1/CustomClaims/ddc7f88bea2a46258c593bddccaf2b86Der folgende Abschnitt enthält ein Beispiel für den Anforderungsteasten.
{ "schemas": [ "urn:ietf:params:scim:schemas:oracle:idcs:CustomClaim" ], "name": "MyATClaim1", "value": "MyATValue1", "expression": false, "mode": "request", "tokenType": "AT", "allScopes": true }Im Folgenden finden Sie ein Beispiel für die Antwort, die angibt, dass die Anforderung erfolgreich war.
{ "idcsLastModifiedBy": { "type": "App", "value": "bac027a9500c4db9a09f5cfbcbda5076", "display": "exampleDomainAdmin", "$ref": "https://<domainURL>/admin/v1/Apps/bac027a9500c4db9a09f5cfbcbda5076" }, "idcsCreatedBy": { "type": "App", "display": "exampleDomainAdmin", "value": "bac027a9500c4db9a09f5cfbcbda5076", "$ref": "https://<domainURL>/admin/v1/Apps/bac027a9500c4db9a09f5cfbcbda5076" }, "mode": "request", "id": "ddc7f88bea2a46258c593bddccaf2b86", "value": "MyATValue1", "expression": false, "meta": { "created": "2022-05-17T04:33:43.640Z", "lastModified": "2022-05-17T04:41:13.177Z", "resourceType": "CustomClaim", "location": "https://<domainURL>/admin/v1/CustomClaims/ddc7f88bea2a46258c593bddccaf2b86" }, "allScopes": true, "name": "MyATCustomClaim1", "tokenType": "AT", "schemas": [ "urn:ietf:params:scim:schemas:oracle:idcs:CustomClaim" ] } -
Setzen Sie
allScopesfür die IDddc7f88bea2a46258c593bddccaf2b86auffalse, indem Sie den folgenden Befehl ausführen:curl -i -X PATCH https://<domainURL>/admin/v1/CustomClaims/{id}Beispiel
curl -i -X PATCH https://<domainURL>/admin/v1/CustomClaims/ddc7f88bea2a46258c593bddccaf2b86Der folgende Abschnitt enthält ein Beispiel für den Anforderungsteasten.
{ "Operations": [ { "op": "replace", "path": "allScopes", "value": false } ], "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ] }Im Folgenden finden Sie ein Beispiel für die Antwort, die angibt, dass die Anforderung erfolgreich war.
{ "idcsLastModifiedBy": { "type": "User", "value": "210d294a075a4c86bbf6f958bceacf0c", "display": "admin opc", "$ref": "https://yourtenant.identity.oraclecloud.com/admin/v1/Users/210d294a075a4c86bbf6f958bceacf0c" }, "idcsCreatedBy": { "type": "User", "display": "admin opc", "value": "210d294a075a4c86bbf6f958bceacf0c", "$ref": "https://<domainURL>/admin/v1/Users/210d294a075a4c86bbf6f958bceacf0c" }, "mode": "always", "id": "ddc7f88bea2a46258c593bddccaf2b86", "value": "MyATValue", "expression": false, "meta": { "created": "2022-05-31T05:43:32.518Z", "lastModified": "2022-05-31T05:58:10.362Z", "resourceType": "CustomClaim", "location": "https://yourtenant.identity.oraclecloud.com/admin/v1/CustomClaims/ddc7f88bea2a46258c593bddccaf2b86" }, "allScopes": false, "name": "MyATCustomClaim", "tokenType": "AT", "scopes": [ "phone" ], "schemas": [ "urn:ietf:params:scim:schemas:oracle:idcs:CustomClaim" ] } -
Zeigen Sie alle benutzerdefinierten Claims im Mandanten an, indem Sie den folgenden Befehl ausführen:
curl -i -X GET https://<domainURL>/admin/v1/CustomClaimsBeispiel
curl -i -X GET https://<domainURL>/admin/v1/CustomClaimsDer folgende Abschnitt enthält ein Beispiel für den Antwortbody.{ "idcsLastModifiedBy": { "type": "User", "value": "210d294a075a4c86bbf6f958bceacf0c", "display": "admin opc", "$ref": "https://<domainURL>/admin/v1/Users/ddc7f88bea2a46258c593bddccaf2b86" }, "idcsCreatedBy": { "type": "User", "display": "admin opc", "value": "ddc7f88bea2a46258c593bddccaf2b86", "$ref": "https://<domainURL>/admin/v1/Users/210d294a075a4c86bbf6f958bceacf0c" }, "mode": "always", "id": "98e94996776845719cf3b737e565199a", "value": "MyATValue", "expression": false, "meta": { "created": "2022-05-31T05:43:32.518Z", "lastModified": "2022-05-31T05:58:10.362Z", "resourceType": "CustomClaim", "location": "https://<domainURL>/admin/v1/CustomClaims/98e94996776845719cf3b737e565199a" }, "allScopes": false, "name": "MyATCustomClaim", "tokenType": "AT", "scopes": [ "phone" ], "schemas": [ "urn:ietf:params:scim:schemas:oracle:idcs:CustomClaim" ] } -
Zeigen Sie die benutzerdefinierten Ansprüche in einem Mandanten an, indem Sie den Abfrageparameter angeben.
curl -i -X GET https://<domainURL>/admin/v1/CustomClaims?attributes=(schema attributes)Beispiel
curl -i -X GET https://yourtenant.identity.oraclecloud.com/admin/v1/CustomClaims?attributes=name,valueIm Folgenden finden Sie ein Beispiel für den Antwortbody, nachdem Sie den Abfrageparameter
?attributes=name,valueangegeben haben:{ "schemas": [ "urn:ietf:params:scim:api:messages:2.0:ListResponse" ], "totalResults": 4, "Resources": [ { "name": "AlwaysAllScopesATClaim10", "id": "edf077cbae59435dab3f9de5ba1fd619", "value": "AlwaysAllScopesATValue" }, { "name": "MyATCustomClaim1", "id": "ddc7f88bea2a46258c593bddccaf2b86", "value": "MyATValue1" }, { "name": "MyATCustomClaim", "id": "150d1eae9f0f4301a22312bd680aa4df", "value": "MyATValue" }, { "name": "MyATCustomClaim2", "id": "2680b220be904698b43575e3d654a88c", "value": "MyATValue2" } ], "startIndex": 1, "itemsPerPage": 50 } -
Löschen Sie optional den benutzerdefinierten Claim aus dem Mandanten, indem Sie den folgenden Befehl ausführen:
curl -i -X DELETE https://<domainURL>/admin/v1/CustomClaims/{id}Beispiel
curl -i -X DELETE https://<domainURL>/admin/v1/CustomClaims/ddc7f88bea2a46258c593bddccaf2b86