ユーザーを認証するためにtaraondesigns/jwt-authを使用してLaravelにapiを構築しました。laravel jwt-authトークンが無効です
私はgithub上のチュートリアルに従い、ログインが正常に動作している:
public function login() {
if (!$token = JWTAuth::attempt(Input::only('email', 'password'))) {
return response()->json(['error' => true], HttpResponse::HTTP_UNAUTHORIZED);
}
$user = User::where('email', Input::get('email'))->first();
return response()->json(array(
'user' => $user,
'token' => compact('token')['token'])
);
}
そして、私はトークンを得た応答を。
しかし、私は私が得たTOKEを使用しようとするたび:
[
"Token is invalid"
]
すなわち:
public function getUser() {
$token = JWTAuth::getToken();
return response()->json(JWTAuth::toUser($token));
}
これは、ヘッダAuthorization: Bearer {{token}}
私のroutes.phpと{{url}}/api/getUser
にGETです以下を含みます。
Route::group(array('prefix' => 'api'), function() {
Route::post('/login', 'API\[email protected]');
Route::get('/getUser', ['before' => 'jwt-auth', 'uses' => 'API\[email protected]']);
});
これをトークンで動作させるにはどうすればよいですか?私はここに何かを逃していますか
UPDATE:
私はこのようなトークンを得た:私はhttps://jwt.ioにトークンをチェック
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjEsImlzcyI6Imh0dHA6XC9cL3NtYXJ0YXBwXC9hcGlcL2xvZ2luIiwiaWF0IjoxNDY2Mjc5ODUxLCJleHAiOjE0NjYyODM0NTEsIm5iZiI6MTQ2NjI3OTg1MSwianRpIjoiYjNkZjViZGNiMjQ2YWU0NzVlZDYwODQxMWFlZDNkMTAifQ.pqU0pWKVzmOel51ObyE9vKLk07tefh2lDE-fp-AOavE
した後、私は、無効な署名を得ました。 なぜ私は署名が無効であり、どうすれば有効にすることができますか?
'routes.php'ファイルの内容は何ですか? – linuxartisan
私の質問にルートを追加しました。編集 –
どのように正確にトークンを渡していますか?あなたはPostmanを使っていますか?トークンは '{{}}'の中括弧なしで渡す必要があります。 – linuxartisan