Php 如何使用laravel 5.5中的令牌从JWTAuth获取用户
我将使用JWTAuth从模型创建令牌。所以我用了这个方法:Php 如何使用laravel 5.5中的令牌从JWTAuth获取用户,php,laravel,authentication,jwt,Php,Laravel,Authentication,Jwt,我将使用JWTAuth从模型创建令牌。所以我用了这个方法: $token = JWTAuth::fromUser($user); 在我的api路线中,我有: Route::post('login', 'AuthController@login'); Route::group([ 'middleware' => 'jwt.auth', 'prefix' => 'auth' ], function ($router) { Route::post('log
$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']);
}
}
希望这对您有所帮助。您应该在
api.php中使用like
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']);
}
}
希望这对你有帮助
如果需要从标头令牌获取当前用户标识,请尝试。测试
如果需要从标头令牌获取当前用户标识,请尝试。测试
$user为false,不返回任何内容!无法在每个请求正文中发送令牌。最好是发送标题选项。$user为false,不返回任何内容!无法在每个请求正文中发送令牌。最好是发送头选项。