2016-11-07 2 views
0

Ich versuche, eine benutzerdefinierte JWT token zu analysieren. Zur Erzeugung des Token ich die folgende Klasse:Parsing benutzerdefinierte Tymon JWT Token mit Laravel

public function createToken() 
{ 
    $client = ['sub' => 'u0406']; 

    $payload = JWTFactory::make($client); 

    $token = JWTAuth::encode($payload); 

    return $token; 
} 

ich dieses Token erhalten und weitergeben

Wie kann ich analysieren diese und erhalten die Variable $client in einem anderen Verfahren? Mein parseMethod wird wie folgt erklärt:

public function create(Request $request) 
{ 
     $token = JWTAuth::getToken(); 
     return $token; 
} 

Und es gibt nur die Token-String. Nicht das Array.

+0

mit I edited die Frage, es war schlecht formuliert. Meine schlechte, tut mir leid. @AniketSahrawat –

+0

@AniketSahrawat alles "global" mit diesem Schlüsselwort zu deklarieren gilt als eine schlechte Übung in der OOP-Welt. –

+0

Ich weiß, das ist nur eine Testmethode. Wie auch immer, ich muss ein JWT-Token parsen. –

Antwort

0

Ich habe dies mit folgenden Methode:

public function create(Request $request) 
    { 
     $token = JWTAuth::parseToken(); 
     return $token->getPayload()->get('sub'); 
    } 

Das gibt u0406

1

Ich nehme es Ihnen gelungen Ihr Token in der createToken() Methode bei der Erstellung und Sie es in einer Anfrage an denen erstellen sind vorbei() Methode, in der Sie dieses Token analysieren möchten, um das Client-Objekt/assoziative Array erneut zu erhalten.

Von dem, was Sie geschrieben haben, denke ich, Sie verwenden die falsche Methode auf der JWTAuth, die getToken() ist. Um die Analyse richtig zu machen, versuchen Sie diesen

  1. ein $ jwtauth Objekt aus der Klasse JWTAuth Instantiate ersten

  2. In Ihrer erstellen Zugriffsmethode des Client/Benutzer von $client = jwtauth->toUser($token);

Verwandte Themen