Domini di identità OCI con Postman

In questa esercitazione vengono effettuate chiamate API (Application Programming Interface) REST a un dominio di Identity utilizzando 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, nonché di eseguire SSO (Single Sign-On) federato e autorizzazione nel cloud. Le API supportano OAuth 2.0, OpenID Connect e SCIM (System for Cross-Domain Identity Management).

In questa esercitazione:

  • Registrare un'applicazione client OAuth
  • Impostare i parametri di ambiente in Postman
  • Importare la raccolta Postman dei domini di identità
  • Richiedere un token di accesso OAuth
  • Crea un utente
  • Recupera un utente
  • Elimina un utente

Per completare questa esercitazione occorrono circa 20 minuti.

Nota

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

Prima di iniziare

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

  • Accesso a un dominio di Identity con il ruolo di amministratore del dominio di Identity. Assicurarsi di disporre dei valori riportati di seguito.
    • Il nome della tenancy, il nome del dominio di Identity e le credenziali (nome utente e password) per connettersi 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. Se è necessaria assistenza per 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 dell'architettura REST
  • L'app desktop Postman installata.

1. Registrazione di 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 quali richieste sono 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 Successivo.
  7. Nel passo Configura OAuth, eseguire le azioni riportate di seguito.
    1. Nella casella Configurazione client, selezionare Configurare questa 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 fino alla fine della scatola. 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.

    È possibile saltare il passo di configurazione dei criteri in questa esercitazione.

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

  9. Nella pagina dei dettagli dell'applicazione selezionare Attiva. Selezionare quindi Attiva applicazione per confermare l'attivazione dell'applicazione.
  10. Nella pagina dei dettagli dell'applicazione, scorrere fino a Informazioni generali e seguire questi passi 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 selezionare 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. Impostazione dei parametri di ambiente in Postman

Per eseguire correttamente questa esercitazione in Postman, importare gli esempi di variabile 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 l'URL delle variabili di ambiente GitHub seguente nel campo.
    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 Disattiva per chiudere la casella dei messaggi.

  4. Nella barra laterale a sinistra selezionare Ambienti. 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 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 l'accesso alla console di Oracle Cloud Infrastructure. Ad esempio, https://<idcs-letterandnumber123string>.identity.oraclecloud.com. Se è necessaria assistenza per 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. Nell'elenco 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 dell'ambiente nell'angolo superiore destro del workbench.

3. Importa 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 avvia l'importazione non appena la raccolta viene incollata. Al termine dell'importazione, è possibile selezionare Disattiva per chiudere la casella dei messaggi.

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

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 espandere Tokens.
  3. In Tokens, selezionare POST Obtain access_token (credenziali client).

    La scheda POST dell'API viene visualizzata nel workbench. Il riquadro delle richieste dell'API è separato dal riquadro delle risposte da una riga. È possibile trascinare la linea del separatore per visualizzare un numero maggiore o minore 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 quando si completa il task di esercitazione Imposta parametri ambiente in Postman.

  4. Selezionare Invia.

    Nel visualizzatore risposte confermare che viene visualizzato lo stato 200 OK e che il token di accesso viene 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 compreso tra le virgolette e il 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 dell'ambiente del token di accesso.
      Token di accesso nei menu di risposta e contestuale

    2. Nella parte superiore destra 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 nella parte superiore destra del riquadro o 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 identificativo risorsa universale della richiesta, un'intestazione, un parametro o un codice JSON e variano in base alla chiamata e al metodo API REST richiesti.

5. Crea utente

Questo task presuppone 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 espandere Crea.
  2. In Crea, selezionare Crea un utente.

    La scheda POST dell'API viene visualizzata nel workbench.

  3. Selezionare la scheda Body.

    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 risposte, confermare che viene visualizzato lo stato 201 Created e che il corpo della risposta contiene 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 riprovare a creare 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 doppie. Nel menu di scelta rapida, selezionare Set: Environment A for REST API Testing, quindi selezionare userid nel menu secondario.
  7. Nella parte superiore destra del workbench, selezionare l'icona per aprire il riquadro delle variabili.

    Il valore userid assegnato viene visualizzato in Tutte le variabili.

6. Recupera un utente

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

La procedura riportata di seguito presuppone che il task precedente Crea un utente sia stato completato.

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

    La scheda GET dell'API viene visualizzata nel workbench.

  3. Selezionare Invia.
    • In caso di esito positivo, confermare che lo stato 200 OK viene visualizzato nel visualizzatore risposte. Nella scheda Corpo è inoltre necessario visualizzare i dettagli relativi a tale utente specifico.

    • Se lo stato 401 Unauthorized è visualizzato 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. Eliminazione utente

Questo task elimina un utente specificato dalla variabile userid.

Nella procedura riportata di seguito si presuppone che siano stati completati i task di esercitazione Crea un utente e Recupera utente.

Se necessario, richiedere un nuovo token di accesso prima di eseguire questa attività.

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

    La scheda DELETE dell'API viene visualizzata nel workbench.

  3. Nella parte superiore destra del workbench, selezionare l'icona per aprire il riquadro delle variabili.

    In Tutte le variabili, confermare che la variabile userid mostra 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 viene visualizzato nel visualizzatore risposte. La scheda Corpo è vuota perché non viene restituito alcun corpo della 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 a eliminare di nuovo l'utente specifico.

  5. Al termine dell'eliminazione, selezionare la scheda ottenere un utente specifico nel workbench. Selezionare quindi Invia.

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