gpt4 book ai didi

ruby-on-rails - 网站如何撤销/断开 OAuth 访问权限?

转载 作者:行者123 更新时间:2023-12-04 03:34:47 25 4
gpt4 key购买 nike

这可能是一个非常愚蠢的问题,但我一直没有找到答案,所以我希望有人能在这里帮助我。 :)

我有一个网站可以通过 OAuth 使用他们的 Google 或 LinkedIn 帐户对用户进行身份验证。我想为他们提供“断开”OAuth 作为登录源的选项(即停止使用他们的 Google 或 LinkedIn 帐户作为登录)。我现在所做的只是从我的数据库中删除 OAuth 数据。这似乎还不够,因为在用户下次尝试“连接”同一帐户时,系统不会提示他允许访问我的网站。它不显示此提示:

enter image description here

我知道用户可以在他的 Google 或 LinkedIn 帐户中撤销他这边的访问权限,但我这个网站有没有办法撤销访问权限?

感谢您的指导。 :)

如果有帮助,我正在使用 omniauth gem。

最佳答案

Google 提供了一种以编程方式撤销 token 的方法 here .

To programmatically revoke a token, your application makes a request to https://accounts.google.com/o/oauth2/revoke and includes the token as a parameter:

curl https://accounts.google.com/o/oauth2/revoke?token={token}

如果this thread仍然准确,LinkedIn 不提供执行此操作的方法。

There's no programmatic way to revoke an OAuth 2.0 access token at this time.

如果您想在将 token 从您的应用程序数据库中删除之前仔细检查它是否已被撤销,您可以尝试如下操作:

  1. 要求用户从每个相应应用程序的设置页面撤销 token
  2. 让用户确认他们已经这样做了
  3. 发出无害的请求(例如获取用户的个人资料信息)并期望它是未经授权的
  4. 如果请求未经授权, token 已成功撤销,您可以将其从数据库中删除

关于ruby-on-rails - 网站如何撤销/断开 OAuth 访问权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26812104/

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