撤消Twitter api的访问令牌

时间:2018-03-30 19:44:41

标签: api twitter oauth oauth-2.0 twitter-oauth

我正在试图弄清楚我是否正在使用正确的API调用来撤销我的应用访问用户Twitter帐户(因此当用户再次尝试使用Twitter登录时,他们必须授予我的应用访问权限而不是不要求登录)

在我的本地应用程序上,我运行了一个服务器,用户可以在其中授予我的应用访问Twitter的权限。我成功使用

获取访问令牌
https://api.twitter.com/oauth/request_token

但是当涉及到撤销相同的访问令牌时,我试图使用

https://api.twitter.com/oauth2/invalidate_token

此处描述:https://developer.twitter.com/en/docs/basics/authentication/api-reference/invalidate_token

但似乎使用oauth1来获取access_token和oauth2来使它失效,这似乎很奇怪。我能够发布但我收到的错误是403“无法验证您的凭据”

在invalidate_token调用的描述中,它提到使“OAuth 2 Bearer Token”无效,但获取了我获得“OAuth Request Token”的令牌。

可以使用OAuth2进行身份验证,以使使用OAuth1获取的令牌无效吗?或者我错过了什么?

服务器正在运行PHP并且调用了curl。

1 个答案:

答案 0 :(得分:0)

您无法使用Twitter API以编程方式撤消OAuth1令牌,除非您正在使用Bearer Tokens。在您的情况下,您不是使用Bearer令牌,而是使用标准OAuth1请求和访问令牌。

您可以将用户定向到需要用户重新批准该应用程序的GET oauth/authorize端点,而不是撤消访问权限:

https://developer.twitter.com/en/docs/basics/authentication/api-reference/authorize

但是,请仔细考虑一下为什么要这样做 - 通常,用户一次授予您的应用程序权限,然后通过他们的Twitter设置自行撤消它,如下所述:

https://help.twitter.com/en/managing-your-account/connect-or-revoke-access-to-third-party-apps