Wie füge ich jedem Header einen Json-Web-Token hinzu?

8

Ich versuche also JSON-Web-Token für die Authentifizierung zu verwenden und versuche nicht, herauszufinden, wie man sie an einen Header anhängt und sie auf eine Anfrage hin sendet.

Ich habe versucht, Ссылка zu verwenden, aber ich konnte nicht mit Angular arbeiten und gab auf und dachte, ich könnte es Finde einfach heraus, wie man das JWT entweder in jede Anfrage sendet oder es in der Kopfzeile (vorzugsweise der Kopfzeile) sendet. Es war nur ein bisschen härter als ich dachte.

Hier ist mein Login

%Vor%

und mein login.service

%Vor%

Ich weiß, dass diese nicht wirklich benötigt werden, aber vielleicht würde es helfen! Sobald dieses Token erstellt und ich es gespeichert habe, möchte ich zwei Dinge tun, senden Sie es in der Kopfzeile und extrahieren das Ablaufdatum, das ich mit diesem eingab.

Ein Teil des Node.js-Anmeldecodes

%Vor%

Jetzt versuche ich nur, es über einen eckigen Dienst zurück an Knoten mit diesem Dienst zu übergeben.

%Vor%

JWT ist mein Webtoken im lokalen Speicher, den ich durch meine Komponente an den Dienst übergebe.

Ich bekomme nirgends Fehler, aber wenn es an meinen Node-Server geht, bekomme ich es nie in der Kopfzeile.

%Vor%     
Morgan G 13.02.2016, 02:52
quelle

3 Antworten

13

Erstellen Sie eine benutzerdefinierte http-Klasse und überschreiben Sie die Methode request , um das Token in jeder http-Anfrage hinzuzufügen.

Ссылка

%Vor%

Nun müssen wir unser Hauptmodul konfigurieren, um das XHRBackend für unsere benutzerdefinierte http-Klasse bereitzustellen. Fügen Sie in Ihrer Hauptmoduldeklaration Folgendes zum Array providers hinzu:

app.module.ts

%Vor%

Danach können Sie Ihren benutzerdefinierten http-Provider in Ihren Diensten verwenden. Zum Beispiel:

user.service.ts

%Vor%

Quelle

    
Adones Pitogo 07.11.2016, 03:18
quelle
7

Ich sehe mehrere Optionen, um einen Header für jede Anfrage transparent zu setzen:

  • Implementieren Sie einen HttpClient-Dienst, der anstelle des Standard-Http verwendet werden soll.
  • Stellen Sie Ihre eigene Implementierung der RequestOptions-Klasse bereit
  • Überschreibe die Http-Klasse selbst

Auf diese Weise können Sie Ihren Header an einer Stelle setzen, was sich auf Ihre HTTP-Aufrufe auswirken würde.

Siehe die folgenden Fragen:

Thierry Templier 13.02.2016 08:58
quelle
0

Hier ist ein Beispiel aus angularem Code, um zB Pläne zu bekommen, schreibt man einfach so,

%Vor%

und auf Ihrem Server können Sie dies tun,

%Vor%

Wenn Sie immer noch nicht klar sind, können Sie die Details in meinem Blogbeitrag hier Knoten-API-Authentifizierung mit JSON-Web-Token einsehen - Der richtige Weg .

    
manutdfan 11.03.2016 15:50
quelle