如何在laravel 5.5中使用令牌从JWTAuth获取用户
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在laravel 5.5中使用令牌从JWTAuth获取用户相关的知识,希望对你有一定的参考价值。
我将使用JWTAuth从模型创建令牌。所以我用这个方法:
$token = JWTAuth::fromUser($user);
在我的api路线中,我有:
Route::post('login', 'AuthController@login');
Route::group([
'middleware' => 'jwt.auth',
'prefix' => 'auth'
], function ($router) {
Route::post('logout', 'AuthController@logout');
Route::post('refresh', 'AuthController@refresh');
Route::get('me', 'AuthController@me');
});
现在我应该有权从JWTAuth获取用户。然后我用:
$user = JWTAuth::parseToken()->authenticate();
但它返回false。
答案
你应该在api.php
中使用
Route::post('user', 'UserController@createUser');
并在你的控制器
public function getAuthUser(Request $request) {
try {
if (!$user = JWTAuth::toUser($request->token)) {
return response()->json(['code' => 404, 'message' => 'user_not_found']);
} else {
$user = JWTAuth::toUser($request->token);
return response()->json(['code' => 200, 'data' => ['user' => $user]]);
}
} catch (Exception $e) {
return response()->json(['code' => 404, 'message' => 'Something went wrong']);
}
}
希望这会帮助你。
以上是关于如何在laravel 5.5中使用令牌从JWTAuth获取用户的主要内容,如果未能解决你的问题,请参考以下文章
在 laravel 5.5 的验证 csrf 令牌中没有收到错误令牌不匹配异常
如何在 laravel 中使用不记名令牌从 api 请求中获取响应?