Route mit oder ohne Token JWT + PASSPORT

8

Ich möchte, dass ich auf einen Router mit oder ohne Token zugreifen kann. Wenn der Benutzer ein Token hat, gib mir req.user

So:

%Vor%

Meine App:

%Vor%

Wenn ich versuche, auf /profile ohne Token zuzugreifen, funktioniert es einwandfrei. Aber wenn ich versuche, mit einem Token im Header auf /profile zuzugreifen, gib mir not loggedIn

Ich möchte auch ohne Token darauf zugreifen und, wenn ich einen Toke zur Verfügung gestellt habe, geben Sie mir den Benutzer.

ps: Wurde bereits mit passport.authenticate('jwt') in Route getestet und funktioniert. Wenn ich Token gebe, lass mich darauf zugreifen, wenn du mich nicht unberechtigt lässt.

    
Igor Martins 20.01.2017, 03:10
quelle

3 Antworten

2

Ändern Sie Ihren Router wie folgt

%Vor%     
Adeeb basheer 22.01.2017 16:51
quelle
2

Sie sollten einen der folgenden Schritte verwenden, um auf die Anforderungsdaten zuzugreifen

%Vor%

oder

%Vor%

Das Anfrageobjekt hat kein Benutzerattribut.

    
LostJon 23.01.2017 15:24
quelle
0

So mache ich es:

%Vor%

Es wird immer noch fehlschlagen, wenn der Auth-Header enthalten ist, aber das Token abgelaufen oder ungültig ist, aber es könnte den Zweck erfüllen. Für mich war es das.

    
javorosas 14.02.2017 19:42
quelle

Tags und Links