【发布时间】:2017-01-06 05:21:09
【问题描述】:
我在中间件中添加了以下代码,用于使用JWT Auth 进行用户身份验证,这对于中间件处理的所有路由都适用。
public function handle($request, Closure $next)
{
if ($request->has('token')) {
try {
$this->auth = JWTAuth::parseToken()->authenticate();
return $next($request);
} catch (JWTException $e) {
return redirect()->guest('user/login');
}
}
}
但是对于带有 Post Method 的一条路线,令牌正确传递但我仍然得到:
JWTException - 无法从请求中解析令牌
我尝试时在同一条路线上:
public function handle($request, Closure $next)
{
if ($request->has('token')) {
try {
dd($request->input('token'));
$this->auth = JWTAuth::parseToken()->authenticate();
return $next($request);
} catch (JWTException $e) {
return redirect()->guest('user/login');
}
}
}
输出:
"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9iaXNzIjoiaHR0cDpcL1wvbG9jYWxob3N0OjgwMDFcL2F1dGhcL2xvZ2luIiwiaWF0IjoxNDcyNTI4NDU0LCJleHAiOjE0NzI1MzIwNTQsIm5iZiI6MTQ3MjUyODQ1NCwianRpIjoiM2E0M2ExYTZlNmM5NjUxZDgxYjZhNDcxMzkxODJlYjAifQ.CH8ES2ADTCrVWeIO8uU31bGDnH7h-ZVTWxrdXraLw8s"
我能够看到我用来访问其他路由的有效令牌,并且它在所有其他路由上都可以正常工作。
提前致谢!!!
【问题讨论】: