Vue SPA token过期 logout问题

各位大神,

之前我跟着 vue spa的课程走完一遍以后就遇到了这个问题:

我在authserviceprovider里设置了 token expires 1分钟,5分钟

Passport::tokensExpireIn(Carbon::now()->addMinutes(1));
Passport::refreshTokensExpireIn(Carbon::now()->addMinutes(5));

如果access_token过期,那根据refresh_token可以再登入。
因为我预估的是如果两个token都过期了,那应该用户被强迫退出,然后用户再手动login.

现在的情况是在正常模式的Chrome里

console一直报错 Unauthorized

直到出现429 (Too Many Requests)才会停止

我的新发现是,无痕浏览模式下(chrome)就不会一直这样报错.

无痕模式下,access_token过期,会报错一次 Unauthorized.然后根据refresh_token重新登陆进去。

refresh_token过期,会报错一次,然后被迫登出。

所以不会出现既不登出又一直报错的情况。

所以这是chrome正常模式下无法等出?

这个问题要怎么解决啊??

不了了了了了之

为什么编辑不了了?

那就在这补充一下:

我上面讲用无痕浏览模式没有这个问题是不正确的
刚刚发现无痕模式也有这个问题

现在是说不准这个问题是咋发生的,咋回事,咋样才能补救一下?
求指导啊~~~ @JellyBool

Github地址在这:https://github.com/haog1/vue-spa/tree/PDF-and-Email

JellyBool

为什么会 429 (Too Many Requests) ?你做了循环?

这种情况,你把 cookie 和 数据库里面的 access_token 这些数据都请了干净,再试一次。

不了了了了了之 回复 JellyBool

哪里循环?我就按着之前的vue spa的视频做的。

开始循环报错 Unauthorized 的时候清空浏览器可以。但是一旦token过期问题就又出现了。

刚刚我删掉了数据库里的access——token然后重新登陆,但是还是一样的问题。

是因为passport的问题吗?
我看了你的github .env里并没有passport client id和secret

PERSONAL_CLIENT_ID=1
PERSONAL_CLIENT_SECRET=jg7kWYwapWQ3ltVI07p9ZoiLdpKQQxK6wgmRWsml
PASSPORT_CLIENT_ID=2
PASSPORT_CLIENT_SECRET=TqivD11q69TozFJpPrHE8rklvCgIiVZJt0LAHIIY

我从github 把我的repos 拉去下来的时候 运行 php artisan passport:install 就会把生成的复制到.env里。和这个有关吗?

JellyBool 回复 不了了了了了之

我的 github repo 没有 passport client id和secret 是因为我 git ignore 了的。

那那你是一直 刷新才出现这个么?429 (Too Many Requests) ?

我看你的截图上面一直都有请求。

或许是你的 后端没有正确返回 token 吧。

不了了了了了之 回复 JellyBool

没找到。。。
后来我就直接用了你github的替代我原来的