1
我有一个新的流明5.4安装,并遵循此tutorial。登录和其他工作正常,但注销似乎不能正常工作。我的意思是,如果我尝试过期令牌,它不会给我一个错误,但如果相同的令牌(刚过期的令牌)被重新使用,它应该说已过期,但仍然会经过并使我数据。简而言之,我相信它并没有过期令牌。下面是我的代码:JWT认证令牌在流明注销后不会失效5.4
UserController
代码:
class UserController extends Controller
{
protected $jwt;
public function __construct(JWTAuth $jwt)
{
$this->jwt = $jwt;
}
public function Signin(Request $request)
{
$this->validate($request, [
'email' => 'required|email|max:100',
'password' => 'required|min:6',
]);
if (!$token = $this->jwt->attempt($request->only('email', 'password'))) {
return response()->json(['The credentials provided are invalid.'], 500);
}
return response()->json(compact('token'));
}
public function LogoutUser(Request $request){
$this->jwt->invalidate($this->jwt->getToken());
return response()->json([
'message' => 'User logged off successfully!'
], 200);
}
}
routes
:
$app->group(['prefix' => 'api'], function($app){
$app->post('/signup', [
'uses' => '[email protected]'
]);
$app->group(['middleware' => 'auth:api'], function($app){
$app->post('/logout',[
'uses' => '[email protected]'
]);
});
});
config/auth.php
:
'defaults' => [
'guard' => env('AUTH_GUARD', 'api'),
],
'guards' => [
'api' => [
'driver' => 'jwt',
'provider' => 'users'
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => \App\User::class,
],
],
'passwords' => [
//
],
任何帮助将不胜感激。