如何从JWT Auth令牌解码用户信息-使用Laravel

时间:2019-04-12 11:22:54

标签: php laravel jwt token

我以这种方式从JWT Auth令牌获取用户信息:

# df -i /data
Filesystem                          Inodes    IUsed      IFree IUse% Mounted on
/dev/mapper/VolGroup01-LogVol01 2621197920 54375585 2566822335    3% /data

和我的控制器:

{
  "user": {
    "id": 5,
    "email": "shahzad@chiro.com",
    "status": 0,
    "created_at": "2019-04-12 07:33:28",
    "updated_at": "2019-04-12 07:33:28",
  }
}  

但是我还想获取其他信息,例如该用户令牌来自哪个模块,我想适当地验证此令牌,目前我有不同的模块,例如public function getAuthenticatedUser() { try { if (! $user = \Tymon\JWTAuth\Facades\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()); } return response()->json(compact('user')); } Chiro和{{1} }。 当我登录用户时,我通过JSON获得了此信息。

PT

当我登录时,此响应表示这是来自ACCU模块的用户,并且当我使用自己共享的方法验证此令牌时,它只会向我返回用户电子邮件,而不会返回该模块。 当我验证令牌我也应该获得模块时,我该如何处理这种情况? 非常感谢您的帮助。

0 个答案:

没有答案