Utilizzo di un token OAuth per Platform Services
Il servizio token OAuth 2.0 fornito dai domini di Identity è un meccanismo che consente di utilizzare un token protetto per accedere agli endpoint REST di Oracle Cloud Platform Services (PaaS).
-
Per accedere a un servizio di piattaforma cloud integrato con i domini di Identity, è necessario l'URL del dominio di Identity. Se non si conosce l'URL del dominio di Identity, vedere Ricerca di un URL del dominio di Identity.
-
Nella procedura vengono utilizzati esempi cURL per ottenere un token di accesso dai domini di Identity, quindi accedere a un endpoint REST del servizio di piattaforma cloud con il token.
Un token di accesso OAuth ha un valore di scadenza di 86.400 secondi (24 ore). Per effettuare richieste API REST 24 ore dopo aver ottenuto un token di accesso, è necessario ottenere un nuovo token.
Requisiti indispensabili
Prima di iniziare, recuperare le informazioni seguenti dal dominio di Identity.
- URL dominio di Identity
- ID client
- Segreto client
- URL audience principale
- Ambito consentito
-
Accedere al dashboard My Services per il dominio di Identity.
Nota
Per eseguire la procedura descritta in questa procedura, è necessario disporre del ruolo di amministratore del dominio di Identity o del ruolo di amministratore PaaS. -
Nella lista dei servizi, individuare la voce per il dominio di Identity, quindi selezionare Identity Cloud.
-
Nella scheda Panoramica, individuare la sezione Istanze di servizio, quindi copiare il valore visualizzato nel campo URL istanza servizio.
Ad esempio:
https://<domainURL>.identity.oraclecloud.com/ui/v1/adminconsoleDove
<domainURL>è la parte del server REST dell'URL del dominio di Identity (che fa parte dell'URL dell'endpoint per la richiesta di un token di accesso). -
Selezionare Apri console servizio, espandere il Cassetto navigazione, quindi selezionare Applicazioni.
-
Nel campo di ricerca immettere
PSM, quindi selezionare l'icona di ricerca. Nei risultati è possibile trovare la voce intitolata PSM App for API OAuth support.Nota
L'applicazione Platform Service Manager (PSMApp) non è disponibile per gli account Oracle Cloud creati prima della release 18.1.4. -
Selezionare il nome dell'applicazione denominato PSM App for API OAuth support.. Il nome ha il formato
PSMApp-cacct-string-of-letters-and-numbers.Ad esempio:
PSMApp-cacct-9z8x7c6v5b4n3mSi tratta dell'applicazione client PSM sicura del dominio di Identity, creata automaticamente per gli account Oracle Cloud (dopo la 18.1.4) e associata a Oracle Cloud Platform Service.
-
Selezionare Configurazione. In Informazioni generali copiare il valore visualizzato nel campo ID client.
Questo è l'ID client PSMApp. Ad esempio:
PSMApp-cacct-9z8x7c6v5b4n3m_APPID -
Selezionare Mostra segreto, quindi copiare il valore.
Questo è il segreto client PSMApp. Ad esempio:
c53b437-1768-4cb6-911e-1e6eg2g3543 -
Espandere Risorse. Copiare il valore visualizzato nel campo Audience principale.
URL dell'audience principale PSMApp. Ad esempio:
https://psm-cacct-9z8x7c6v5b4n3m.console.oraclecloud.com -
Nella sezione Ambiti consentiti, copiare il valore Ambito per l'autorizzazione 1PaaS.
urn:opc:resource:consumer::all
Ottieni un token di accesso OAuth
Con le informazioni raccolte, utilizzare l'endpoint API REST dei domini di Identity /oauth2/v1/token per ottenere un token.
curl -k
-X POST -u "client-id:client-secret"
-d "grant_type=password&username=yourusername&password=yourpassword&scope=https://primary-audience-and-scope" "https://identity-cloud-service-instance-url/oauth2/v1/token"
Posizione:
-
client-idè l'ID client PSMApp -
client-secretè il segreto client PSMApp -
yourusernameè il nome utente del servizio di piattaforma cloud con un ruolo di amministratore -
yourpasswordè la password per il nome utente -
primary-audience-and-scopeè una concatenazione dell'URL dell'audience principale PSMApp e dell'ambito dell'autorizzazione 1PaaS -
identity-cloud-service-instance-urlè la parte del server REST dell'URL del dominio di Identity
Ad esempio:
curl -k
-X POST -u "PSMApp-cacct-9z8x7c6v5b4n3m_APPID:c53b437-1768-4cb6-911e-1e6eg2g3543"
-d "grant_type=password&username=yourusername&password=yourpassword&scope=https://psm-cacct-9z8x7c6v5b4n3m.console.oraclecloud.comurn:opc:resource:consumer::all" "https://<domainURL>.identity.oraclecloud.com/oauth2/v1/token"
Di seguito è riportato un esempio della risposta restituita.
{
"access_token": "eyJ7NXQ...fMf46Q0yKopDxQ",
"token_type": "Bearer",
"expires_in": 86400
}
La stringa del token viene troncata nella risposta di esempio. Copiare l'intera stringa di token (tra apici) come mostrato nella risposta.
Utilizzare il token di accesso OAuth nelle richieste API REST di Cloud Platform Service
Dopo aver ottenuto un token di accesso OAuth 2.0, si fornisce il token in un'intestazione del token bearer della richiesta REST del servizio di piattaforma cloud.
curl -i
-X GET
-H "Authorization: Bearer token-string" "https://primary-audience/rest-endpoint-path"
Posizione:
-
token-stringè il token di accesso OAuth ottenuto -
primary-audienceè l'URL dell'audience principale PSMApp -
rest-endpoint-pathè il percorso relativo che definisce la risorsa REST del servizio di piattaforma cloud. Si noti che l'ID del dominio di Identity potrebbe essere utilizzato nel percorso.
curl -i -X GET
-H "Authorization: Bearer eyJ7NXQ...fMf46Q0yKopDxQ" "https://psm-cacct-9z8x7c6v5b4n3m.console.oraclecloud.com/paas/api/v1.1/instancemgmt/idcs-9a888b7e6ebb44b4b65/services/jaas/instances"