我有一个 Larvel API,它使用 Tymon\JWTAuth 来验证用户身份。
它运行良好。
由于某些原因,我还有一条不受保护的路线web.php
:
Route::get('myroute', 'MyController@mymethod');
MyController@mymethod的代码如下:
$user = JWTAuth::toUser($request->input('token'));
// I tried also this:
// JWTAuth::setToken($request->input('token'));
// $user = JWTAuth::authenticate();
我在浏览器中使用此 url 调用路由:/myroute?token=eyJ0eXAiOiJKV1QiLCJhbGci....
问题是我在 JWT.php 中有一个异常:
泰蒙\JWTAuth\异常\JWTException
需要令牌
JWT.php
protected function requireToken()
{
if (! $this->token) {
throw new JWTException('A token is required');
}
}
如何解码作为 URL 参数传递而不是在请求标头中传递的令牌?
如果您使用的是 jwt-auth dev,旧版本中的 toUser 方法会像上面一样抛出错误,请尝试以下操作:
// Get the currently authenticated user
$user = auth()->user();
如果用户未经过身份验证,则将返回 null。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)