Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用laravel 5.5中的令牌从JWTAuth获取用户_Php_Laravel_Authentication_Jwt - Fatal编程技术网

Php 如何使用laravel 5.5中的令牌从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

我将使用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']);

        }
    }

希望这对您有所帮助。

您应该在
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,不返回任何内容!无法在每个请求正文中发送令牌。最好是发送头选项。