2016-05-21 4 views
2

こんにちは私は、特定のトークンから電子メールのユーザーを取得しようとしています。私は、トークンを解析するために、これを試してみたが、私はいつもこのexampleに応じて空または{}値ました:生成されたトークンから電子メールを取得する方法

public function getAuthenticatedUser() 
    { 
     try { 
      if (! $user = JWTAuth::parseToken()->authenticate()) { 
       return response()->json(['user_not_found'], 404); 
      } 

     } catch (Tymon\JWTAuth\Exceptions\TokenExpiredException $e) { 

      return response()->json(['token_expired'], $e->getStatusCode()); 

     } catch (Tymon\JWTAuth\Exceptions\TokenInvalidException $e) { 

      return response()->json(['token_invalid'], $e->getStatusCode()); 

     } catch (Tymon\JWTAuth\Exceptions\JWTException $e) { 

      return response()->json(['token_absent'], $e->getStatusCode()); 

     } 

     // the token is valid and we have found the user via the sub claim 
     return $user; 
    } 

私はこのlocalhostのようなURLにトークンを置く:8000/adminに/ユーザー/ GET_ALLトークン=? {{トークン}}、私はまた、ヘッダーのトークンをtokenとして追加します。注:私は郵便局を使ってリクエストしています。電子メールとして認証ユーザーの情報を取得する意味解析:私は間違ってここにいる場合

$result = $this->getAuthenticatedUser(); 
return response() 
      ->json([ 
       'status'=>'success', 
       'user'=>$result, 
       'data'=> $users, 
      ]); 

が私を修正:私はレスポンスに解析値を渡すしようとすると、しかし、私はいつも{}値を得ましたか。
注:私はlaravel 5.2を使用しています。ルートにはミドルウェアjwt-authが組み込まれていますが、これはlibrary for generate the tokenです。

+0

「http:// localhost:8000/admin/user/get_all?token = {{$ token}}」のように、** $ **サインイン** {{トークン}} **を追加してください。また、 'return $ user;'の代わりに 'return response() - > json($ user);'を使用してください。 – prateekkathal

+0

私は{{トークン}}を追加するために郵便番号を使用しています。 –

+0

オハイオ州、私はあなたがどこかの刃でそれを使っていたと思っています...笑...そして、あなたがリクエストを送ったら、何の反応もありません。どんな応答もありませんか?私はちょうどあなたのコードをテストし、それは正常に動作しているようだ。この関数がミドルウェアや他のクラスの一部であるかどうか教えてください。使用しているルートは、ミドルウェアjwt-authを使用していますか? – prateekkathal

答えて

0

私は電子メールのような列のテーブル名を取得しようとしたとき、応答が正しいですが、{}を得た唯一れる理由を私は知らないが、実際には空でないように見えます:

$result->email

私はそのトークンを使用してログに記録された実際のメールを受け取りました。

関連する問題