Senden JWT token in den Header mit Postboten
Teste ich eine Umsetzung von JWT Token-basierte Sicherheit wird basierend auf der folgenden Artikel. Ich habe erfolgreich empfangen eines token aus der test-server. Ich kann nicht herausfinden, wie Sie den Chrome-POSTMAN-REST Client-Programm senden Sie das token in den header.
Meine Fragen sind wie folgt:
1) Bin ich mit dem richtigen header-name und/oder BRIEFTRÄGER-Schnittstelle?
2) muss ich die base-64-Kodierung der token? Ich dachte, ich könnte senden Sie einfach den token zurück.
- Hallo, wo kann ich sehen, im POSTMAN die jwt token, die ich erhalten habe?
- es hängt davon ab, wie der empfangende server so konfiguriert ist. Es kann wieder kommen, wie eine URL (finden Sie es in den URL-string) oder kann es wieder in den response-body (finden Sie es in der Antwort-Text-Feld). Das sind die zwei großen, die ich bin mir dessen bewusst.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für die Anfrage-Header-Namen nur verwenden, Genehmigung.
Ort, Träger, bevor das Token. Ich habe es gerade ausprobiert und es funktioniert für mich.
Authorization: Bearer TOKEN_STRING
Jeder Teil der JWT ist eine base64url codierten Wert.
403 Forbidden
in meine .net-core-apiHier ist ein Bild, wenn es hilft 🙂
Update:
Den Briefträger-team Hinzugefügt "Bearer-token" auf die "Registerkarte Berechtigung":
Ich bin das hinzufügen dieser Frage ein wenig interessanter Tipp, die Ihnen helfen können Jungs testen JWT-Apis.
Ist sehr einfach eigentlich.
Wenn Sie sich anmelden, in der Api (login Endpunkt), Sie erhalten umgehend Ihr token, und, wie @mick-cullen sagte, Sie haben die JWT auf Ihrem header:
Nun, wenn Sie wollen, automatisieren oder einfach nur dein Leben einfacher machen, Ihre tests, die Sie speichern können, wird das token als ein globales, die Sie aufrufen können auf alle anderen Endpunkte wie:
Auf Den Postboten:
Dann eine Globale variable im postman als jwt_token = TOKEN_STRING.
In Ihrem login-Endpunkt:
Nutzbar zu machen, fügen Sie am Anfang des Tests die Registerkarte hinzufügen:
Ich vermute, dass Ihr api ist die Rücksendung der token als json auf die Antwort:
{"jwt_token":"TOKEN_STRING"}, kann es eine Art von variation.
In der ersten Zeile fügen Sie die Antwort auf die data Variable.
Reinigen Sie Ihre Globale
Und weisen Sie den Wert.
So, jetzt haben Sie Ihre token auf der globalen variable, welche einfach zu verwenden Authorization: Bearer {{jwt_token}} auf alle Ihre Endgeräte.
Hoffe dieser Tipp hilft.
BEARBEITEN
Etwas zu Lesen
Über tests auf den Postboten: Beispiele zum testen
Befehlszeile: Newman
CI: die Integration mit Jenkins
Schönen blog post: master api test automation
Test
Registerkarte und Briefträger Codierung. Gibt es eine Ressource, die Sie empfehlen, mit diesem Einstieg?Ich hatte das gleiche Problem in
Flask
und nach dem Versuch, die ersten 2 Lösungen, die sind die gleichen (Authorization: Bearer <token>
), und immer dieses:Schaffte ich es schließlich, es zu lösen, indem
Dachte, es könnte etwas Zeit sparen, um Menschen, die Begegnung, die gleiche Sache.
Authentication credentials were not provided
imdjango
mitBearer <token>
. gelöst mitjwt <token>
. Vielen Dank für die LösungHier ist, wie zu Satz-token diese automatisch
In Ihrem login - /auth-Anfrage
Dann für authentifizierte Seite
Getan!
Wenn Sie möchten, verwenden Briefträger der richtige Weg ist, um die überschriften als solche
Schlüssel: Genehmigung
Wert: jwt {token}
so einfach ist das.
Irgendwie Postbote hat bei mir nicht funktioniert.
Musste ich eine chrome-Erweiterung namens RUHTE, die funktionierten.
Habe ich, wie moplin erwähnt .Aber in meinem Fall service senden Sie die JWT im response-Header als Wert unter dem Schlüssel "Autorisierung".
Was ich Tat, war ,eine Globale variable im postman als
in der login-Anforderung->Tests Registerkarte hinzufügen
in anderen Anfragen wählen Sie die Registerkarte Header und geben
Für Menschen, die mit wordpress-plugin Advanced Access Manager zu öffnen, die JWT-Authentifizierung.
Den Header-Feld setzen sollte Authentifizierung statt Genehmigung
AAM erwähnt es in Ihren Dokumentation,
Hoffe es hilft jemandem! Vielen Dank für die anderen Antworten, hat mir sehr geholfen auch!!!!
Alles andere ie. Params -, Autorisierungs -, Körper -, Pre-request-Skript, Tests leer ist, öffnen Sie einfach die Header Registerkarte und fügen Sie wie gezeigt in Bild. Dasselbe gilt für die GET-Anforderung als gut.