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).

Nota

  • 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
  1. 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.
  2. Nella lista dei servizi, individuare la voce per il dominio di Identity, quindi selezionare Identity Cloud.

  3. 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/adminconsole

    Dove <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).

  4. Selezionare Apri console servizio, espandere il Cassetto navigazione, quindi selezionare Applicazioni.

  5. 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.
  6. 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-9z8x7c6v5b4n3m

    Si 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.

  7. Selezionare Configurazione. In Informazioni generali copiare il valore visualizzato nel campo ID client.

    Questo è l'ID client PSMApp. Ad esempio:

    PSMApp-cacct-9z8x7c6v5b4n3m_APPID

  8. Selezionare Mostra segreto, quindi copiare il valore.

    Questo è il segreto client PSMApp. Ad esempio:

    c53b437-1768-4cb6-911e-1e6eg2g3543

  9. Espandere Risorse. Copiare il valore visualizzato nel campo Audience principale.

    URL dell'audience principale PSMApp. Ad esempio:

    https://psm-cacct-9z8x7c6v5b4n3m.console.oraclecloud.com

  10. 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
}
Nota

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.

Ad esempio, il comando cURL riportato di seguito recupera tutte le istanze di Oracle Java Cloud Service.
   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"