社交登录使提供商应用程序保持登录状态

Social login keeps the provider app logged in

  1. 我访问了一个使用 oauth 社交登录的应用程序
  2. 我选择gmail;我被发送到 gmail 站点
  3. 我登录到 gmail,然后被发送回应用程序
  4. 完成应用程序后我注销

在第 4 步之后,即使我关闭浏览器并重新打开,访问 gmail 也会直接打开我的帐户,而不会提示输入密码。请记住,我从不让浏览器保存我的密码,也从不勾选“记住我”

我不确定一般用户会不会记得单独访问gmail来注销;这在 public 计算机上将是灾难性的。

我的问题:

这是 oauth2 的设计缺陷还是步骤 1 中应用程序的实现缺陷还是 google-login 的实现缺陷?还是步骤 1 中的应用程序在技术上不可能注销社交身份提供者(在这种情况下它根本不是缺陷。)

OpenID Connect 核心规范和会话管理规范定义了两者的方法:

  • 使用户退出身份提供者 (link)
  • 并强制用户 re-authentication 使用最大后的 OP 自上次用户以来身份验证年龄 (max_age) 已过 验证。 (link)

    问题是我不确定 Google 是否实现了这些东西 see this

我用 OpenID Connect 标记了你的问题,因为身份验证不是 OAuth2.0 的问题。