我正在 Odoo 中处理一个项目,并且启用了 google 登录。问题是,当用户尝试同时从不同浏览器登录时,仅保留最新的登录 session ,而较旧的登录 session 会被保留。即将过期。
例如 - 我在 Chrome 上使用 google 登录 Odoo,然后在 Mozilla firefox 上登录。此时,如果我在登录的 Chrome 上刷新页面,我将被注销并被要求再次登录,但我在 Firefox 上仍然登录。
经过多次考虑,我想到旧的刷新 token 可能即将过期。然而在官方文档中,我看到了这个:
A token might stop working for one of these reasons:
- The user has revoked access.
- The token has not been used for six months.
- The user account has exceeded a certain number of token requests.
如果情况并非如此,那么为什么我不能同时从多个浏览器保持登录状态?我应该怎么做才能在多个浏览器中使用 Google 保持登录状态?
如有任何帮助,我们将不胜感激!
最佳答案
我对 Odoo 不太了解,但这很可能是由于 odoo 的政策,他们仅支持从一个地方登录帐户的 session (并使旧 session 过期)。我确信这同样适用于当您使用密码登录时,您将只有一个 session 。
当您使用 Google(或其他方法)登录时,大多数应用程序都会发出自己的凭据(cookie 等),并决定 session 的生命周期(大多数应用程序不会将这些与 Google session 绑定(bind))。我怀疑这就是您在这里遇到的情况。
当颁发新 token 时,以前的 token 对于同一应用程序不会变得无效(最多大约 25 个)。
关于OAuth2 - 如何同时从多个浏览器保持登录状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32269946/