gpt4 book ai didi

Laravel 护照 - 连接不良时刷新 token 问题

转载 作者:行者123 更新时间:2023-12-04 10:26:46 25 4
gpt4 key购买 nike

Laravel 上有 API,它使用 Laravel Passport 进行身份验证。一切都在默认设置下运行良好。然后我们决定将访问 token 的生命周期相应地更改为 1 天和 1 个月。它导致刷新 token 出现问题。
示例:访问 token 已过期,应用向 API 发送刷新 token 请求。然后应用程序失去互联网连接并且无法获得新 token 。 (服务器发送新 token 但应用程序不可用)。互联网连接返回后,应用程序发送一个新的刷新请求,但得到 401。因此应用程序需要从 API 获取新代码来验证用户。我认为强制用户每天登录不是一个好主意。
有什么建议?也许有像“握手”这样的方法来解决这个问题?我的意思是只有在确认应用程序获得新 token 后才刷新 token 。

最佳答案

如果我正确理解你的问题,你是说你最初有一个 Access Token1, Refresh Token1对,当 Access Token1过期您尝试请求一个新的 Access Token使用 Refresh Token1 .

现在,由于某种原因,您没有收到这个新的 Access Token2, Refresh Token2对,那么用户做什么?好吧,您是从消费者的角度来看这一点的。如果您从 Oauth2 服务器的角度看到相同的场景。

服务器不知道您是否未能收到 token ,或者您收到了但未能保存。服务器的工作是根据您的有效刷新 token 生成新的访问 token 。一旦它创建了一个新的访问 token ,它就会使旧的刷新 token 失效。这是标准的 Oauth2 实现。

您可以尝试这样做,以便在生成新访问 token 时不会立即撤销旧刷新 token 。但这引入了重放攻击的可能性。

因此,标准做法是让用户再次登录。

关于Laravel 护照 - 连接不良时刷新 token 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60613891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com