我知道这可能听起来很奇怪,但我希望我的应用程序能够自我断开与用户的连接。
就像任何谷歌用户都可以输入他的设置并断开连接,如下所述:https://webapps.stackexchange.com/questions/5052/unauthenticate-google-oauth-connections
我希望我的应用程序能够自行完成。我在API文档中找不到相关信息,也许有人已经这样做了。
我无法相信它无法实现。应该有一些资源来删除任何连接。
答案 0 :(得分:13)
很难找到,但在google api文档中有记录。
https://developers.google.com/identity/protocols/OAuth2WebServer#tokenrevoke
应用程序可以以编程方式撤消其自己的访问权限。在用户取消订阅或删除应用程序的情况下,此类撤销非常重要,其中删除授予应用程序的权限的API请求应该是删除过程的一部分。
要以编程方式撤消令牌,您的应用程序会向https://accounts.google.com/o/oauth2/revoke发送请求,并将令牌作为参数包含在内:
curl https://accounts.google.com/o/oauth2/revoke?token={token}
指定的令牌可以是访问令牌或刷新令牌。如果令牌是访问令牌并且它具有相应的刷新令牌,则刷新令牌也将被撤销。
如果撤销成功,则响应的状态代码为200.如果发生错误,则响应的状态代码为400,响应也包含错误代码。
Twitter:无法判断您是否可以使用invalidate_token
撤消所有权限。其他选项不可用。
实施OAuth 2.0的所有服务应提供一种撤销可能性。通常,它遵循google-pattern
https://..../oauth2/revoke