我需要帮助才能找出问题所在。 我正在使用流明(laravel 5.1)为移动应用程序创建Web服务。我正在使用JWT进行身份验证,并返回一个令牌。
第一个问题是,如果我从另一个系统/设备使用相同的令牌,那么它会验证并返回所请求的信息。我希望该令牌仅对用户获取令牌的那个设备/系统有效。
第二个问题是我在JWT令牌中添加了一些自定义声明。我想从令牌获取自定义声明值。我找到了类似的问题Get custom claims from a JWT using Owin,但没有得到我在php中如何使用它。
请帮我解决问题。
答案 0 :(得分:7)
我得到了解决方案。这里的解决方案可能是帮助别人
$payload = JWTAuth::parseToken()->getPayload();
// then either of
$payload->get('foo');
$payload['foo'];
答案 1 :(得分:0)
我找到了解决方案,这对您有帮助。
$token = JWTAuth::getToken();
$payload = JWTAuth::decode($token);
$validate = $payload->get('foo'); // return true or false
if($validate) {
// some condition
} else {
// some condition
}
答案 2 :(得分:0)
// SENDING:
$user = User::first();
$payload = [
'foo' => 'bar'
];
$guard = 'api'; // or web
$token = auth($guard)->claims($payload)->login($user);
// RECEIVING:
$data = auth($guard)->payload()->get('foo');