Esercitazione: Generare un token web JSON (JWT)

Questa esercitazione mostra come definire e implementare una definizione di API REST che genera un JSON Web Token (JWT).

Informazioni su questo tutorial

In questa esercitazione si completano le seguenti lezioni:
  1. Genera un JWT
  2. Test dell'API REST
Nota: Il catalogo Sandbox deve essere configurato per utilizzare un sito DataPower® Gateway (v5 compatible), un sito DataPower API Gateway o entrambi. Vedi Creazione e configurazione dei cataloghi.

Genera un JWT

Creare un'API REST per generare e restituire un token web JSON (JWT).

Per aggiungere e definire questa API REST, completare i seguenti passaggi:
  1. Accedere a API Manager.
  2. Nella pagina di benvenuto, fare clic sul riquadro Develop APIs and Products.

    Schermata API Manager

  3. Fai clic su Aggiungi > API.

    Schermata Aggiungi API

  4. Assicurarsi che OpenAPI 3.0 sia selezionato.
  5. Selezionare Nuovo OpenAPI e fare clic su Avanti.

    Selezionare OpenAPI

  6. Immettere le informazioni appropriate per creare una definizione di API REST.
    1. Nel campo Titolo, inserire JWT.
    2. I campi Nome e Percorso base si popolano automaticamente con i termini jwt e /jwt rispettivamente.
    3. Il campo Versione si autocompila con 1.0.0.

    Schermata delle informazioni di base

  7. Fare clic sul pulsante Avanti.
  8. Nella sezione Protezione, fare clic su Avanti.

    API sicura

  9. Si vede l'avanzamento della creazione della nuova API. Al termine, viene visualizzato un riepilogo. Fare clic su Modifica API.

    Nuovo riepilogo API

  10. Nella barra laterale della pagina di progettazione, selezionare Percorsi per visualizzare il pannello Percorsi.
  11. Fare clic su Aggiungi +.

    Pagina Paths

  12. Nel campo Percorso, inserire /gen.
  13. Fare clic su Aggiungi.

    Aggiungere un'informazione sul percorso

  14. Scorrere verso il basso. Nella sezione Parametri, fare clic su Aggiungi +.

    Aggiungi parametri

    1. Inserire iss-claim nel campo Nome parametro.
    2. Selezionare il sito header dall'elenco Situato in.
    3. Immettere https://myidp.ibm.com da abbinare nel campo Descrizione.
    4. Selezionare la casella di controllo Richiesto.
    5. Fare clic su Aggiungi.

      Percorso Impostazioni dei parametri

    6. Scorrere verso il basso. Nella sezione Schema, fare clic su Crea

      Aggiungi schema

    7. Selezionare stringa nell'elenco Tipo.
    8. Fare clic su Aggiungi.

      Aggiungi stringa

  15. Dopo aver creato il parametro, fare clic su Salva.
  16. Per aggiungere un secondo parametro. Completa i seguenti passi:
    1. Nella barra laterale della pagina di progettazione, selezionare Parametri sotto il percorso /gen appena creato.

      Barra laterale dei parametri

    2. Fare clic su Aggiungi +.

      Pagina dei parametri

    3. Inserire aud-claim nel campo Nome parametro.
    4. Selezionare header dall'elenco Situato in.
    5. Immettere Enter ClientID1 da abbinare nel campo Descrizione.
    6. Selezionare la casella di controllo Richiesto.
    7. Fare clic su Aggiungi.

      Percorso Impostazioni dei parametri

    8. Scorrere verso il basso. Nella sezione Schema, fare clic su Crea.

      Aggiungi schema

    9. Selezionare string dall'elenco Tipo.
    10. Fare clic su Aggiungi.

      Aggiungi stringa

  17. Dopo aver creato il secondo parametro, fare clic su Salva.
  18. Fare clic su Componenti > Risposte.
  19. Fare clic su Aggiungi.

    Pagina delle risposte

  20. Il campo Nome risposta si autocompila con 200.
  21. Inserire 200 OK nel campo Descrizione.

    Aggiungi schema

  22. Fare clic su Aggiungi.
  23. Dopo aver creato la risposta, fare clic su Salva.
  24. Selezionare la scheda Gateway.
  25. Passare il mouse sul nodo di criterio esistente e fare clic sull'icona del cestino per eliminarlo.

    Pagina del gateway

  26. Da Azioni, fare clic su Imposta variabile per aggiungere l'azione alla linea del flusso di elaborazione. Si apre automaticamente un pannello di configurazione.
  27. Fare clic su Aggiungi azione.

    Aggiunta dell'azione Imposta variabile

  28. Immettere hs256-key nel campo Set.
  29. Selezionare string dall'elenco Tipo.
  30. Inserire un JWK nel campo Valore. Di seguito viene riportato un esempio. { "alg": "HS256", "kty": "oct", "use": "sig", "k": "o5yErLaE-dbgVpSw65Rq57OA9dHyaF66Q_Et5azPa-XUjbyP0w9iRWhR4kru09aFfQLXeIODIN4uhjElYKXt8n76jt0Pjkd2pqk4t9abRF6tnL19GV4pflfL6uvVKkP4weOh39tqHt4TmkBgF2P-gFhgssZpjwq6l82fz3dUhQ2nkzoLA_CnyDGLZLd7SZ1yv73uzfE2Ot813zmig8KTMEMWVcWSDvy61F06vs_6LURcq_IEEevUiubBxG5S2akNnWigfpbhWYjMI5M22FOCpdcDBt4L7K1-yHt95Siz0QUb0MNlT_X8F76wH7_A37GpKKJGqeaiNWmHkgWdE8QWDQ", "kid": "hs256-key" }

    Proprietà Setvar

  31. Chiudere il pannello delle proprietà. Fare clic su Salva.
  32. Da Azioni, fare clic su Genera JWT per aggiungere l'azione alla riga del flusso di elaborazione dopo l'icona della variabile impostata. Si apre automaticamente un pannello di configurazione.
    Nota: se il pannello Build assembly flow non è visibile, fare clic su + vicino alla variabile impostata per visualizzare il pannello.

    Aggiunta dell'azione JWT Generate

  33. Inserire request.headers.iss-claim nel campo Issuer Claim.
  34. Immettere request.headers.aud-claim nel campo Audience Claim.
  35. Inserire hs256-key nel campo Sign JWK variable name.
  36. Selezionare HS256 dall'elenco Algoritmo crittografico.

    Proprietà JWT Generate

  37. Chiudere il pannello delle proprietà. Fare clic su Salva.
  38. Da Azioni, fare clic su GatewayScript per aggiungere l'azione alla riga del flusso di elaborazione dopo l'icona Genera JWT. Si apre automaticamente un pannello di configurazione.
  39. Immettere il seguente codice:
    var apim = require('apim');
    apim.setvariable('message.body',apim.getvariable('generated.jwt'));

    GatewayScript azione aggiunta

    Nota: potrebbe essere visualizzato il seguente avviso quando si aggiunge l'azione GatewayScript azione: This gatewayscript policy should not use the apim module which is only for migrating old APIs. È possibile ignorare questo avviso e procedere.
  40. Chiudere il pannello delle proprietà. Fare clic su Salva.

Test dell'API REST

Nota: a causa delle restrizioni relative alla condivisione delle risorse tra domini ( CORS ), lo strumento di test dell'assembly non può essere utilizzato con i browser Chrome o Safari sulla piattaforma macOS Catalina.
Per testare l'API REST, completare i seguenti passaggi:
  1. Fare clic su Test.
    Nota: non è possibile testare l'API REST se non sono stati configurati gateway per il catalogo; in tal caso, nella scheda "Test" verrà visualizzato un messaggio di errore.Verifica
  2. Fare clic su Configurazione destinazione e impostare la pubblicazione automatica su On.
  3. Fare clic su Salva preferenze. Lo stato dell'API è indicato come Online nella scheda Test.
  4. Inserire https://myidp.ibm.com nel campo Valore corrispondente al parametro iss-claim.
  5. Inserire ClientID1 nel campo Valore corrispondente al parametro aud-claim.
  6. Fare clic su Invia.

    Pagina di prova e pulsante di invio

  7. La risposta contiene il JWT generato.

    Risultato del test

Gestire la definizione delle API

Ora che la nuova API funziona correttamente, è possibile gestirla. Per visualizzare le opzioni immediate, procedere come segue.

  1. Fai clic sull'icona "Sviluppo Sviluppare l'icona " nella barra di navigazione.

    Barra di navigazione

  2. Fai clic sull'icona Opzioni L'icona di gestione accanto all'API JWT.

    Gestisci API

  3. Selezionare Download.

Cosa hai imparato in questa esercitazione

In questa esercitazione, hai completato le seguenti attività:
  • Creata una nuova definizione di API che genera un JSON Web Token (JWT).
  • Testato il nuovo API.