超过时间 触发的应该是 setAuthUser 里面的 catch(error => {
dispatch('refreshToken')
})
跳过了 Cookie 而且auth_id 不懂在哪里体现
我把logout 改成 这样 可以了
public function logout()
{
$user = auth()->guard('api')->user();
$accessToken = $user->token();
app('db')->table('oauth_refresh_tokens')
->where('access_token_id',$accessToken->id)
->update([
'revoked' => true,
]);
$accessToken->revoke();
return response()->json([
'message' => 'logout!'
],204)->cookie('refreshToken', '', 0, null);
}
找到问题了....在前端,token在发请求之前就删除了,但是logout发送请求之后还是有存在旧cookie refreshToken
Route::middleware('auth:api')->post('/logout','Auth\LoginController@logout');
这样吗? 好像还是不行 提示Unauthenticated
/user 可以取到值 在logout的controller里 通过auth不行
'defaults' => [
'guard' => 'web',
'passwords' => 'users',
],
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'passport',
'provider' => 'users',
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
],
'passwords' => [
'users' => [
'provider' => 'users',
'table' => 'password_resets',
'expire' => 60,
],
],
有的 一模一样
怎么携带 access_token 发起请求呢
我自己打错了 =..= 都应该是post
api.php 里面是 post logout 在其他地方是 get logout 没有在tokenproxy中进行logout()