Domini di identità OCI con Postman

In questa esercitazione vengono effettuate chiamate API (Application Programming Interface) REST a un dominio di Identity mediante Postman, un software in genere utilizzato per i test delle API REST.

Le API REST dei domini di Identity consentono di integrare i domini di Identity con i client REST per gestire utenti, gruppi, applicazioni e impostazioni ed eseguire il servizio SSO (Single Sign-On) federato e l'autorizzazione nel cloud. Le API supportano OAuth 2.0, OpenID Connect e System for Cross-Domain Identity Management (SCIM).

In questa esercitazione:

  • Registrare un'applicazione client OAuth
  • Impostare i parametri di ambiente in Postman
  • Importa la raccolta Postman dei domini di Identity
  • Richiedere un token di accesso OAuth
  • Crea un utente
  • Ottenere un utente
  • Eliminazione utente

Per completare questo tutorial occorrono circa 20 minuti.

Nota

Questa esercitazione è specifica di OCI Identity and Access Management con i domini di Identity.

Informazioni preliminari

Per eseguire questa esercitazione, è necessario disporre dei seguenti elementi:

  • Accesso a un dominio di Identity con il ruolo di amministratore del dominio di Identity. Verificare di disporre dei seguenti valori:
    • Il nome della tenancy, il nome del dominio di Identity e le credenziali (nome utente e password) per collegarsi a una tenancy nella console di Oracle Cloud Infrastructure con un dominio di Identity.
    • L'URL del dominio visualizzato nella pagina dei dettagli del dominio di Identity dopo l'accesso. Ad esempio, https://<idcs-letterandnumberstring>.identity.oraclecloud.com. Per informazioni su come trovare l'URL del dominio, vedere Ricerca di un URL del dominio di Identity nella documentazione. L'URL del dominio di Identity viene utilizzato per creare una richiesta REST.
  • Familiarità con lo stile di architettura REST
  • L'app desktop Postman installata.

1. Registra un'applicazione client

Per autenticare una chiamata API REST a un dominio di Identity, registrare un'applicazione client OAuth nel dominio di Identity.

Questo task è necessario per ottenere le credenziali (ID client e segreto client) utilizzate per l'autenticazione. Le credenziali sono equivalenti alle credenziali di servizio (ID e password) utilizzate dal client per comunicare con un dominio di Identity. Questo task consente inoltre di determinare le richieste autorizzate tramite l'API REST.

  1. Aprire il menu di navigazione e selezionare Identità e sicurezza. In Identità, selezionare Domini.
  2. Selezionare il nome del dominio di Identity in cui si desidera lavorare. Potrebbe essere necessario modificare il compartimento per trovare il dominio desiderato.
  3. Nella pagina dei dettagli del dominio selezionare Applicazioni integrate.
  4. Selezionare Aggiungi applicazione.
  5. Nella finestra di dialogo Aggiungi applicazione, selezionare Applicazione riservata, quindi selezionare Avvia workflow.
  6. Nel passo Aggiungi dettagli applicazione del workflow, immettere il nome e la descrizione di un'applicazione, quindi selezionare Avanti.
  7. Nel passo Configura OAuth, eseguire le azioni riportate di seguito.
    1. Nella casella Configurazione client, selezionare Configura applicazione come client ora.

      La casella si espande, mostrando più opzioni.

    2. In Autorizzazione, selezionare solo Credenziali client come tipo di privilegio consentito.
    3. Scorri verso il basso fino alla fine della casella. Selezionare Aggiungi ruoli applicazione, quindi selezionare Aggiungi ruoli.
    4. Nel pannello Aggiungi ruoli applicazione, selezionare Amministratore dominio di Identity, quindi selezionare Aggiungi.
  8. Nel passo Configura OAuth, selezionare Successivo, quindi selezionare Fine.

    In questa esercitazione è possibile saltare il passo di configurazione dei criteri.

    Quando l'applicazione viene creata, il relativo stato iniziale è Inattivo.

  9. Nella pagina dei dettagli dell'applicazione selezionare Attiva. Selezionare quindi Activate application per confermare l'attivazione di questa applicazione.
  10. Nella pagina dei dettagli dell'applicazione, scorrere fino a Informazioni generali e attenersi alla procedura riportata di seguito per copiare i valori dell'ID client e del segreto client.
    1. Evidenziare il valore visualizzato accanto a ID client e copiare il valore in un file di testo.
    2. In Segreto client, selezionare Mostra segreto. Nella finestra di dialogo visualizzata, selezionare Copia, quindi Chiudi. Il valore viene copiato negli Appunti. Incollare il valore in un file di testo.
    3. Memorizzare i valori dell'ID client e del segreto client copiati in un luogo sicuro.

2. Impostare i parametri dell'ambiente in Postman

Per eseguire correttamente questa esercitazione in Postman, importare gli esempi di variabili REST idcs-rest-clients e impostare i parametri di ambiente.

  1. Apri l'app desktop Postman e accedi utilizzando il tuo account. Se si dispone di un'area di lavoro, selezionare Area di lavoro e selezionare l'area di lavoro. In caso contrario, è possibile utilizzare l'area di lavoro predefinita.
  2. Nell'area di lavoro selezionare Importa.
  3. Nella finestra di dialogo Importa incollare nel campo l'URL delle variabili di ambiente GitHub riportato di seguito.
    https://github.com/oracle/idm-samples/raw/master/idcs-rest-clients/example_environment.json

    Postman inizia l'importazione non appena si incolla l'URL. Al termine dell'importazione, selezionare Elimina per chiudere la casella del messaggio.

  4. Nella barra laterale a sinistra selezionare Environments. Fare quindi clic con il pulsante destro del mouse su Ambiente di esempio di Oracle Identity Cloud Service con variabili e selezionare Duplica.
  5. Nella lista degli ambienti, fare clic con il pulsante destro del mouse su Ambiente di esempio di Oracle Identity Cloud Service con copia delle variabili visualizzato sotto l'ambiente originale e selezionare Rinomina. Nel campo, digitare Environment A for REST API Testing e premere Invio.
  6. Per aggiornare le variabili nell'ambiente rinominato, immettere i valori riportati di seguito nei campi Valore iniziale e Valore corrente.
    • HOST: l'URL del dominio ottenuto dalla pagina dei dettagli del dominio di Identity dopo aver eseguito l'accesso alla console di Oracle Cloud Infrastructure. Ad esempio, https://<idcs-letterandnumber123string>.identity.oraclecloud.com. Per informazioni su come trovare l'URL del dominio, vedere Ricerca di un URL del dominio di Identity nella documentazione.
    • CLIENT_ID e CLIENT_SECRET: l'ID client e il segreto client copiati in un file di testo dall'applicazione sicura del dominio di Identity, come descritto nel task di esercitazione Registrare un'applicazione client.
    • USER_LOGIN e USER_PW: nome utente e password di login
      Variabili di ambiente Postman modificate

  7. Selezionare Salva.
  8. Nella lista degli ambienti, selezionare il segno di spunta sul nome Environment A for REST API Testing per renderlo l'ambiente attivo.

    L'ambiente attivo viene visualizzato nel selettore ambiente nell'angolo superiore destro del workbench.

3. Importa la raccolta Postman dei domini di Identity

Per eseguire correttamente questa esercitazione in Postman, importare la raccolta REST_API_for_Oracle_Identity_Cloud_Service, che contiene richieste API di esempio che possono essere utilizzate per effettuare chiamate.

  1. Nell'area di lavoro Postman, selezionare Importa.
  2. Nella finestra di dialogo Importa incollare l'URL seguente nel campo per importare la raccolta Postman dell'API REST dei domini di Identity.
    https://github.com/oracle/idm-samples/raw/master/idcs-rest-clients/REST_API_for_Oracle_Identity_Cloud_Service.postman_collection.json

    Postman inizia l'importazione non appena la raccolta viene incollata. Al termine dell'importazione, è possibile selezionare Chiudi per chiudere la casella del messaggio.

  3. Nella barra laterale a sinistra selezionare Raccolte.
  4. Selezionare il nome REST_API_for_Oracle_Identity_Cloud_Service.

    Le richieste nella raccolta sono organizzate in cartelle.


    La raccolta viene visualizzata sotto la scheda Raccolte.

4. Richiedi un token di accesso

Per effettuare chiamate API a un dominio di Identity, è necessario autenticare il client in base al dominio di Identity, quindi ottenere un token di accesso OAuth.

Il token di accesso fornisce una sessione tra un client (in questa esercitazione, Postman) e il dominio di Identity.

Nota

Per impostazione predefinita, un token di accesso ha un intervallo di timeout di 60 minuti. Per eseguire chiamate API REST oltre l'intervallo, è necessario richiedere un nuovo token di accesso.
  1. Nella barra laterale a sinistra selezionare Raccolte. Espandere REST_API_for_Oracle_Identity_Cloud_Service se non è espanso.
  2. Espandere OAuth, quindi Tokens.
  3. In Tokens, selezionare POST Obtain access_token (credenziali client).

    La scheda POST dell'interfaccia API viene visualizzata nel workbench. Il riquadro delle richieste dell'API è separato dal riquadro delle risposte da una riga. È possibile trascinare la linea di separazione per visualizzare più o meno di ciascun riquadro.

    Nel riquadro della richiesta, il campo URL mostra: POST {{HOST}}/oauth2/v1/token

    Le variabili per {{HOST}}, l'accesso e le credenziali di autenticazione sono già impostate al termine del task di esercitazione Imposta parametri di ambiente in Postman.

  4. Selezionare Invia.

    Nel visualizzatore delle risposte, confermare che venga visualizzato lo stato 200 OK e che il token di accesso venga restituito nel corpo della risposta. Un token di accesso è una stringa molto lunga di lettere e numeri.

  5. Per assegnare il valore del token di accesso a una variabile di ambiente, attenersi alla procedura riportata di seguito.
    1. Nella risposta, evidenziare il contenuto del token di accesso tra le virgolette e fare clic con il pulsante destro del mouse. Nel menu di scelta rapida, selezionare Imposta: Ambiente A per test API REST, quindi selezionare access_token nel menu secondario per assegnare il contenuto evidenziato come valore di ambiente del token di accesso.
      Token di accesso nei menu di risposta e di scelta rapida

    2. Nell'angolo superiore destro del workbench, selezionare l'icona per aprire il riquadro delle variabili.

      Il valore access_token assegnato viene visualizzato in Tutte le variabili.


      Variabile token di accesso nel riquadro Variabili

  6. Per chiudere il riquadro delle variabili, selezionare X nell'angolo superiore destro del riquadro oppure selezionare l'icona delle variabili.

Se si invia la successiva chiamata API REST al dominio di Identity prima della scadenza del token, la chiamata API contiene il token di accesso e altre informazioni correlate alla richiesta. Le informazioni REST vengono inviate tramite un Universal Resource Identifier della richiesta, un'intestazione, parametri o codice JSON e variano in base alla chiamata e al metodo dell'API REST richiesti.

5. Crea un utente

Questo task si basa sul presupposto che sia stato richiesto un token di accesso nell'ultima ora.

Se necessario, richiedere un nuovo token prima di creare un utente.

  1. Nella barra laterale a sinistra selezionare Raccolte. Espandere Utenti, quindi Crea.
  2. In Crea selezionare Crea un utente.

    La scheda POST dell'interfaccia API viene visualizzata nel workbench.

  3. Selezionare la scheda Corpo.

    L'esempio utilizza la modalità raw e il formato JSON per i dati del corpo.


    Scheda Corpo con codice JSON

  4. Selezionare Invia.
    • Nel visualizzatore delle risposte, verificare che venga visualizzato lo stato 201 Created e che il corpo della risposta contenga dettagli sull'utente creato correttamente nel dominio di Identity.

    • Se viene visualizzato lo stato 401 Unauthorized, con il messaggio di errore Proper authorization is required for this area, richiedere un nuovo token di accesso e provare a creare di nuovo l'utente.

  5. Nel corpo della risposta di una creazione riuscita, scorrere fino alla riga 40, che contiene il valore OCID per l'utente creato.

    Ad esempio: ocid1.user.oc1..aabaaacaaaq7xxxxxx

  6. Evidenziare il valore OCID compreso tra le virgolette. Nel menu di scelta rapida, selezionare Imposta: Ambiente A per test API REST, quindi selezionare ID utente nel menu secondario.
  7. Nell'angolo superiore destro del workbench, selezionare l'icona per aprire il riquadro delle variabili.

    Il valore userid assegnato viene visualizzato in Tutte le variabili.

6. Ottieni un utente

Questo task recupera i dettagli di un utente specifico utilizzando la variabile userid.

Nella procedura riportata di seguito si presume di aver completato il task precedente Crea un utente.

  1. Nella barra laterale a sinistra selezionare Raccolte. Espandere Utenti, quindi Cerca.
  2. In Cerca, selezionare Ottieni un utente specifico.

    La scheda GET dell'interfaccia API viene visualizzata nel workbench.

  3. Selezionare Invia.
    • In caso di esito positivo, confermare che lo stato 200 OK venga visualizzato nel visualizzatore delle risposte. I dettagli sull'utente specifico devono essere visualizzati anche nella scheda Corpo.

    • Se viene visualizzato lo stato 401 Unauthorized con il messaggio di errore Proper authorization is required for this area, richiedere un nuovo token di accesso e provare a recuperare di nuovo l'utente specifico.

7. Elimina utente

Questo task elimina un utente specificato dalla variabile userid.

Nella procedura riportata di seguito si presume di aver completato i task di esercitazione Create a User e Get a User.

Se necessario, richiedere un nuovo token di accesso prima di eseguire questo task.

  1. Nella barra laterale a sinistra selezionare Raccolte. Espandere Utenti, quindi Elimina.
  2. Selezionare Elimina utente.

    La scheda DELETE dell'interfaccia API viene visualizzata nel workbench.

  3. Nell'angolo superiore destro del workbench, selezionare l'icona per aprire il riquadro delle variabili.

    In Tutte le variabili confermare che la variabile userid mostri ancora lo stesso valore OCID utilizzato per recuperare i dettagli dell'utente.

  4. Selezionare Invia.
    • In caso di esito positivo, confermare che lo stato 204 No content venga visualizzato nel visualizzatore delle risposte. La scheda Corpo è vuota perché non viene restituito alcun corpo di risposta per un'operazione DELETE.

    • Se viene visualizzato lo stato 401 Unauthorized con il messaggio di errore Proper authorization is required for this area, richiedere un nuovo token di accesso e provare di nuovo a eliminare l'utente specifico.

  5. Quando l'eliminazione riesce, selezionare la scheda Ottenere un utente specifico nel workbench. Selezionare quindi Invia.

    Nel visualizzatore delle risposte, confermare che venga visualizzato lo stato 404 Not found, che indica che l'utente è stato eliminato.