Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 网站如何撤销/断开OAuth访问?_Ruby On Rails_Oauth_Google Oauth_Omniauth - Fatal编程技术网

Ruby on rails 网站如何撤销/断开OAuth访问?

Ruby on rails 网站如何撤销/断开OAuth访问?,ruby-on-rails,oauth,google-oauth,omniauth,Ruby On Rails,Oauth,Google Oauth,Omniauth,这可能是一个非常愚蠢的问题,但我还没有找到答案,所以我希望有人能在这里帮助我。:) 我有一个网站,通过OAuth认证用户的Google或LinkedIn帐户。我想让他们选择“断开”OAuth作为登录源(即停止使用他们的Google或LinkedIn帐户作为登录)。我现在要做的就是从我的数据库中删除OAuth数据。这似乎还不够,因为下次用户尝试“连接”同一帐户时,不会提示用户允许访问我的网站。它不会显示以下提示: 我知道用户可以在他的Google或LinkedIn帐户中撤销对他的访问权限,但我这

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

我有一个网站,通过OAuth认证用户的Google或LinkedIn帐户。我想让他们选择“断开”OAuth作为登录源(即停止使用他们的Google或LinkedIn帐户作为登录)。我现在要做的就是从我的数据库中删除OAuth数据。这似乎还不够,因为下次用户尝试“连接”同一帐户时,不会提示用户允许访问我的网站。它不会显示以下提示:

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

谢谢您的指导。:)


如果有帮助的话,我使用的是
omniauth
gem。

Google提供了一种以编程方式撤销令牌的方法

要以编程方式撤销令牌,应用程序将向发出请求,并将该令牌作为参数包括在内:

curl{token}

如果仍然是准确的,LinkedIn没有提供这样做的方法

目前没有程序化的方法来撤销OAuth 2.0访问令牌

如果要在从应用程序数据库中删除令牌之前再次检查令牌是否已被吊销,可以尝试以下操作:

  • 要求用户从各自应用程序的设置页面撤销令牌
  • 让用户确认他们已经这样做了
  • 发出无害的请求(例如获取用户的个人资料信息),并期望其未经授权
  • 如果请求未经授权,则令牌已成功吊销,您可以将其从数据库中删除

  • 如何获取吊销令牌?它是
    凭证
    散列中的令牌吗?
    {token}
    指的是您通常用于该用户的访问令牌,而不是特殊的
    撤销
    令牌。