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:
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.
- Führen Sie das Tutorial „Erstellen eines JSON Web Tokens (JWT)“ durch. In diesem Tutorial wird ein JSON-Web-Token generiert, das durch dieses Tutorial validiert werden kann. Sie benötigen dieses JWT, um diese Validierungs-API zu testen.
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:
- Melden Sie sich bei API Manager an.
- Klicken Sie auf der Willkommensseite auf die Kachel APIs und Produkte entwickeln.

- Klicken Sie auf .

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

- Geben Sie die entsprechenden Informationen ein, um eine REST-API-Definition zu erstellen.

- Klicken Sie auf Weiter.
- Wechseln Sie nicht zum Bildschirm " Sicher". Klicken Sie auf Weiter.

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

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

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

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

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

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

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

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

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

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

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

- Geben Sie hs256-key in das Feld "Set" ein.
- Wählen Sie die string im Feld Typ.
- 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" }

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

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

- Schließen Sie die Eigenschaftsanzeige. Klicken Sie auf Speichern.
- Ziehen Sie die Aktion GatewayScript auf die Verarbeitungsablauflinie hinter dem Symbol "JWT validieren". Eine Konfigurationsanzeige wird automatisch geöffnet.
- 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.
- Schließen Sie die Eigenschaftsanzeige. Klicken Sie auf Speichern.
- Stellen Sie sicher, dass die Option Catches anzeigen aktiviert ist, sodass der Bereich
catch angezeigt wird.

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

- Ziehen Sie die Richtlinienaktion GatewayScript auf die in die Abfangablauflinie.
- Geben Sie den folgenden Code ein:
var apim = require('apim'); apim.setvariable('message.body',apim.getvariable('jwt-validate.error-message'));
- 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:
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.
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.
