Tutorial: Validieren eines JSON-Web-Tokens (JWT)

In diesem Tutorial wird gezeigt, wie eine REST-API-Definition, die ein JSON-Web-Token (JWT) validiert, definiert und implementiert wird.

Info zu diesem Tutorial

In diesem Tutorial schließen Sie die folgenden Lerneinheiten ab:
  1. JWT validieren
  2. REST-API testen
Hinweis : Der Sandbox-Katalog muss so konfiguriert werden, dass er entweder DataPower® Gateway (v5 compatible) oder DataPower API Gateway oder beide verwendet. Siehe „Erstellen und Konfigurieren von Katalogen “.

Vorbereitende Schritte

Führen Sie auch die folgenden Schritte aus.

JWT validieren

Erstellen Sie eine REST-API, um ein JSON-Web-Token (JWT) zu validieren.

Führen Sie die folgenden Schritte durch, um diese REST-API hinzuzufügen und zu definieren:
  1. Melden Sie sich bei API Manager an.
  2. Klicken Sie auf der Willkommensseite auf die Kachel APIs und Produkte entwickeln.

    API-Manager-Bildschirm

  3. Klicken Sie auf „Hinzufügen“ > „API“ (aus REST, „ GraphQL “ oder SOAP).

    Bildschirm "API hinzufügen"

  4. Stellen Sie sicher, dass OpenAPI 3.0 ausgewählt ist.
  5. Wählen Sie "Neu" OpenAPI. Klicken Sie auf Weiter.

    Auswählen OpenAPI

  6. Geben Sie die entsprechenden Informationen ein, um eine REST-API-Definition zu erstellen.
    1. Geben Sie in das Feld "Titel" JWTVAL ein.
    2. Die Felder Name und Basispfad werden mit den Begriffen jwtval bzw. /jwtval ausgefüllt.
    3. Das Feld "Version" wird automatisch mit 1.0.0 ausgefüllt.

    Bildschirm mit grundlegenden Informationen

  7. Klicken Sie auf Weiter.
  8. Wechseln Sie nicht zum Bildschirm " Sicher". Klicken Sie auf Weiter.

    Geschützte API

  9. Der Fortschritt bei der Erstellung der neuen API wird angezeigt. Nach Abschluss des Vorgangs erscheint eine Zusammenfassung. Klicken Sie auf "API bearbeiten ".

    Neue API-Zusammenfassung

  10. Wählen Sie in der Seitenleiste der Seite "Design" die Option Pfade aus, um die Anzeige Pfade aufzurufen.
  11. Klicken Sie auf Hinzufügen.

    Seite 'Pfade'

  12. Geben Sie in das Feld Pfad /val ein.
  13. Klicken Sie auf Hinzufügen.

    Füge eine Wegbeschreibung hinzu

  14. Blättern Sie abwärts. Klicken Sie im Abschnitt "Parameter " auf "Hinzufügen ".

    Parameter hinzufügen

    1. Geben Sie Authorization in das Feld "Parametername" ein.
    2. Wählen Sie die header im Feld Standort aus.
    3. Geben Sie Enter Bearer <jwt> in das Feld "Beschreibung" ein.
    4. Bitte auswählen.
    5. Klicken Sie auf Erstellen.

      Pfad-Parametereinstellungen

    6. Blättern Sie abwärts. Klicken Sie im Abschnitt "Schema" auf "Erstellen"

      Schema hinzufügen

    7. Wählen Sie die string im Feld Typ.
    8. Klicken Sie auf Erstellen.

      Zeichenfolge hinzufügen

  15. Nachdem Sie den Parameter erstellt haben, klicken Sie auf "Speichern ".
  16. Klicken Sie auf Komponenten > Antworten.
  17. Klicken Sie auf Hinzufügen.

    Seite mit Antworten

  18. Das Feld "Name der Antwort " wird automatisch mit 200 ausgefüllt.
  19. Geben Sie 200 OK in das Feld "Beschreibung" ein.

    Schema hinzufügen

  20. Nachdem Sie die Antwort erstellt haben, klicken Sie auf "Speichern ".
  21. Klicken Sie auf Gateway.
  22. Bewegen Sie den Mauszeiger über die vorhandene Proxy- oder Startaktion und klicken Sie auf das Mülleimer-Symbol, um sie zu löschen.

    Gateway-Seite

  23. Ziehen Sie die Aktion Variable festlegen auf die Verarbeitungsablauflinie. Eine Konfigurationsanzeige wird automatisch geöffnet.
  24. Klicken Sie auf "Aktion hinzufügen ".

    Variable Aktion hinzugefügt

  25. Geben Sie hs256-key in das Feld "Set" ein.
  26. Wählen Sie die string im Feld Typ.
  27. Geben Sie einen JWK in das Feld "Wert" ein. Beispiel: { "alg": "HS256", "kty": "oct", "use": "sig", "k": "o5yErLaE-dbgVpSw65Rq57OA9dHyaF66Q_Et5azPa-XUjbyP0w9iRWhR4kru09aFfQLXeIODIN4uhjElYKXt8n76jt0Pjkd2pqk4t9abRF6tnL19GV4pflfL6uvVKkP4weOh39tqHt4TmkBgF2P-gFhgssZpjwq6l82fz3dUhQ2nkzoLA_CnyDGLZLd7SZ1yv73uzfE2Ot813zmig8KTMEMWVcWSDvy61F06vs_6LURcq_IEEevUiubBxG5S2akNnWigfpbhWYjMI5M22FOCpdcDBt4L7K1-yHt95Siz0QUb0MNlT_X8F76wH7_A37GpKKJGqeaiNWmHkgWdE8QWDQ", "kid": "hs256-key" }

    Setvar-Eigenschaften

  28. Schließen Sie die Eigenschaftsanzeige. Klicken Sie auf Speichern.
  29. Ziehen Sie die Aktion JWT validieren auf die Verarbeitungsablauflinie hinter dem Symbol set-variable. Eine Konfigurationsanzeige wird automatisch geöffnet.

    JWT-Validierungsaktion hinzugefügt

  30. Geben Sie hs256-key in das Feld Crypto-JWK-Variablennamen überprüfen ein.

    JWT-Validierung von Immobilien

  31. Schließen Sie die Eigenschaftsanzeige. Klicken Sie auf Speichern.
  32. Ziehen Sie die Aktion GatewayScript auf die Verarbeitungsablauflinie hinter dem Symbol "JWT validieren". Eine Konfigurationsanzeige wird automatisch geöffnet.
  33. Geben Sie den folgenden Code ein:
    var apim = require('apim');
    apim.setvariable('message.body',apim.getvariable('decoded.claims'));
    Hinweis: Die Antwort enthält möglicherweise die folgende Warnung, die Sie ignorieren können:
    Warnung: Diese Gatewayscript-Richtlinie sollte nicht das apim-Modul verwenden, das nur für die Migration alter APIs gedacht ist.

    GatewayScript aktion hinzugefügt

  34. Schließen Sie die Eigenschaftsanzeige. Klicken Sie auf Speichern.
  35. Stellen Sie sicher, dass die Option Catches anzeigen aktiviert ist, sodass der Bereich catch angezeigt wird.

    Seitenfang zusammenbauen

  36. Klick fängt. Eine Eigenschaftsanzeige wird geöffnet.
  37. Klicken Sie auf "Standardfang hinzufügen ".

    Seitenfang zusammenbauen

  38. Ziehen Sie die Richtlinienaktion GatewayScript auf die in die Abfangablauflinie.
  39. Geben Sie den folgenden Code ein:
    var apim = require('apim');
    apim.setvariable('message.body',apim.getvariable('jwt-validate.error-message'));

    Zusammenbau der Seitenverriegelung

  40. Schließen Sie die Eigenschaftsanzeige. Klicken Sie auf Speichern.

REST-API testen

Hinweis: Aufgrund von Einschränkungen beim Cross-Origin Resource Sharing ( CORS ) kann das Assembly-Test-Tool nicht mit den Browsern Chrome oder Safari auf der Plattform „ macOS “ Catalina verwendet werden.
Um die REST-API zu testen, benötigen Sie ein gültiges JWT. Sie können ein solches JWT erhalten, indem Sie die API starten, die im Tutorial „Generieren eines JSON Web Tokens (JWT)“ erstellt wurde. Führen Sie die folgenden Schritte durch, um die REST-API zu testen:
  1. Aktivieren Sie den Aktivierungsschalter, um die von Ihnen erstellte API zu aktivieren.
  2. Klicken Sie auf Test.
  3. Geben Sie Bearer gefolgt von einem Leerzeichen gefolgt von einem gültigen JWT ein, das mit demselben Signaturschlüssel im Feld "Wert" generiert wurde, das dem Autorisierungsparameter entspricht.
    Hinweis : Wenn der Autorisierungsschlüssel in den Parametern fehlt, überprüfen Sie, ob der richtige Anfragepfad ausgewählt ist. Wählen Sie einen Anfragepfad, der mit /val endet, oder hängen Sie /val manuell an die GET-Anfrage an.
  4. Klicken Sie auf Senden.
  5. Die Antwort enthält Verzweigungsdaten.

Verwalten Ihrer API-Definition

Nun, da Ihre neue API korrekt funktioniert, können Sie diese API verwalten. Gehen Sie wie folgt vor, um Ihre unmittelbaren Optionen anzuzeigen.

  1. Klicken Sie auf das Entwicklungs-Icon Symbol „Entwickeln“ in der Navigationsleiste.
  2. Klicken Sie auf das Symbol Das Verwaltungssymbol „Optionen“ neben der Mapper-API.

    API verwalten

  3. Wählen Sie "Download ".

Die Themen dieses Tutorials

In diesem Tutorial haben Sie die folgenden Aktivitäten durchgeführt:
  • Es wurde eine neue API-Definition erstellt, die ein JSON-Web-Token (JWT) validiert.
  • Die neue API wurde getestet.