我已经在我的Laravel 5.6应用程序中实现了jwt-auth v1.0.0-rc2,到目前为止,除了令牌过期时可以注销的能力之外,其他一切似乎都工作正常。
当我从AngularJS应用程序中调用注销方法时,它从我的Laravel应用程序(AuthController)中调用:JWTAuth::invalidate( $request->input( 'token' ) );
使令牌无效,但是,它总是返回一个401 Unauthorized
。
我可以确认将blacklist_enabled
设置为true,以将无效令牌列入黑名单。
当我拥有有效令牌时,我可以正常注销,但是一旦过期就不能注销。我的AngularJS应用程序正常处理401错误(通过auth拦截器),并重定向回登录页面,但是注销后,我依靠来自服务器的确认信息。
我正在使用默认的jwt-auth中间件类,如下所示:
'jwt.auth' => \Tymon\JWTAuth\Middleware\Authenticate::class,
我的登出路线:
Route::group(['prefix' => 'v1', 'middleware' => 'jwt.auth'], function () {
Route::post('logout', 'AuthController@logout');
});
我要在注销POST请求中将令牌作为授权标头发送。
我似乎无法在此问题上找到任何东西。我不确定自己缺少什么,但是也许我设置不正确?