Utilizzo dell'operazione consentita onBehalfOf
L'operazione onBehalfOf
consentita consente di garantire che i privilegi di accesso possano essere generati solo dai privilegi dell'utente, in modo che un'applicazione client possa accedere agli endpoint ai quali l'utente ha accesso, anche se l'applicazione client da sola normalmente non avrebbe accesso.
Quando un'applicazione client autorizzata implementa una funzionalità che la richiede per accedere agli endpoint dei domini di Identity, a tale client vengono concessi i privilegi necessari per eseguire questa operazione. Un client applicazione Web implementa invece funzionalità che richiedono all'applicazione client di accedere agli endpoint utilizzando i privilegi e gli ambiti acquisiti dall'utente che ha eseguito il login. Con il comportamento di autorizzazione predefinito dei domini di Identity, tale client deve comunque disporre del set completo di privilegi necessari per accedere a tali endpoint, indipendentemente dai privilegi concessi all'utente. L'operazione consentita onBehalfOf
consente a un amministratore di indicare che è necessario utilizzare i soli privilegi dell'utente anziché un'intersezione degli ambiti dell'utente (se presente) e degli ambiti del client.
Le applicazioni pubbliche o CLI dispongono di privilegi molto limitati o nessun privilegio per l'accesso agli endpoint. Questi tipi di client si basano sull'utente che accede all'applicazione per determinare i diritti di cui dispone l'applicazione. Quando un utente accede a un'applicazione pubblica, se all'utente è stato rilasciato un token di accesso creato dai soli privilegi dell'utente, tale utente sarà in grado di accedere agli endpoint finché l'utente è autorizzato.
L'operazione onBehalfOf
consentita consente di generare un token di accesso per l'applicazione client OAuth. Quando si calcolano gli ambiti specifici dei domini di Identity (scopi che iniziano con "urn:opc:idm:
") da impostare nel token di accesso, i domini di Identity ignorano i privilegi del client e utilizzano un ambito uguale o inferiore all'ambito originariamente concesso all'utente autorizzato. Pertanto, per determinare l'accesso vengono utilizzati solo i privilegi dell'utente (ruoli di amministratore, gruppi e così via) insieme agli ambiti richiesti. Se si utilizza l'ambito richiesto "urn:opc:idm:_myscopes_"
, vengono restituiti tutti gli ambiti concessi all'utente.
Abilitazione dell'operazione onBehalfOf consentita
Utilizzare l'API REST dei domini di Identity per creare o aggiornare un'applicazione OAuth e specificare onBehalfOfUser
come operazione consentita. Quando si crea un'applicazione OAuth utilizzando l'interfaccia utente dei domini di Identity, nella pagina Autorizzazione selezionare la casella di controllo per l'operazione consentita Per conto di. Quando gli utenti accedono all'applicazione, possono eseguire varie funzioni in base alle proprie autorizzazioni.
Esempio
L'esempio mostra come creare un'applicazione e specificare l'operazione consentita onBehalfOfUser
(in grassetto nell'esempio).
cat</tmp/OAuthClientApp.json << __EOF__
{
"schemas": [
"urn:ietf:params:scim:schemas:oracle:idcs:App"
],
"displayName": "publicClientApp",
"isOAuthClient": true,
"description": "public client",
"active": true,
"clientType": "public",
"basedOnTemplate": {
"value": "CustomBrowserMobileTemplateId"
},
"redirectUris": [
"http://example.com:9090/demoapp/return",
"http://example.com:9090/IDCSPlayground"
],
"logoutUri": "http://example.com:9090/demoapp/logout.jsp",
"postLogoutRedirectUris": ["http://example.com:9090/demoapp/logout.jsp"],
"allowedScopes": [
{
"fqs": "http://example.com/photos"
},
{
"fqs": "http://example.com/presentations"
},
{
"fqs": "http://example.com/documents"
}
],
"allowedOperations": [
"onBehalfOfUser" ],
"allowedGrants": [
"authorization_code",
"implicit"
]
}
__EOF__
curl -X POST
-H "Content-type: application/json"
-H "Authorization: Bearer <access token value>"
--data @/tmp/OAuthClientApp.json http://<domainURL>/admin/v1/Apps