我有一个 Larvel API,它使用 Tymon\JWTAuth 来验证用户身份。
工作正常。
由于某些原因,我在 web.php
中还有一个不 protected 路由:
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();
我在浏览器中使用以下网址调用路由:/myroute?token=eyJ0eXAiOiJKV1QiLCJhbGci....
问题是我在 JWT.php 中有一个异常:
Tymon \ JWTAuth \ Exceptions \ JWTException A token is required
JWT.php
protected function requireToken()
{
if (! $this->token) {
throw new JWTException('A token is required');
}
}
如何解码作为 URL 参数传递而不是在请求 header 中传递的 token ?
最佳答案
如果您使用的是jwt-auth dev,旧版本中的toUser方法会像上面一样抛出错误,试试这个:
// Get the currently authenticated user
$user = auth()->user();
如果用户未经过身份验证,则返回 null。
关于laravel - Tymon\JWTAuth::toUser 错误:需要 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50843841/