这可能是一个非常愚蠢的问题,但我没有找到答案的运气,所以我希望有人会帮助我。 :)
我有一个网站,通过他们的Google或LinkedIn帐户通过OAuth对用户进行身份验证。我想为他们提供选择"断开" OAuth作为登录源(即停止使用他们的Google或LinkedIn帐户作为登录)。我现在所做的只是从我的数据库中删除OAuth数据。这似乎不够,因为下次他尝试连接时不会提示用户允许我的网站访问#34;同一个帐户。它没有显示此提示:
我知道用户可以撤销他在Google或LinkedIn帐户中的访问权限,但是我的网站是否有办法取消访问?
感谢您提供任何指导。 :)
如果有帮助,我会使用omniauth
宝石。
答案 0 :(得分:3)
Google提供了一种以编程方式撤销令牌here的方法。
要以编程方式撤消令牌,您的应用程序会向https://accounts.google.com/o/oauth2/revoke发出请求,并将令牌作为参数包含在内:
curl https://accounts.google.com/o/oauth2/revoke?token= {token}
如果this thread仍然准确,则LinkedIn无法提供执行此操作的方法。
目前没有以编程方式撤销OAuth 2.0访问令牌。
如果要在从应用程序的数据库中删除令牌之前仔细检查您的令牌是否已被撤销,您可以尝试这样的事情: