如何在jwt-auth中获取授权用户的ID?

时间:2016-09-10 12:16:50

标签: laravel laravel-5.2 jwt laravel-5.3

如何在jwt-auth中获取授权用户的ID? 我尝试通过标准方法获取id,但它不起作用

1 个答案:

答案 0 :(得分:5)

使用jwt-auth时,您可以通过解析JWT令牌来获取用户ID:

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());
    }

    $userId = $user->id;

    # code...
}