2017-08-12 3 views
0

Twitter API(OAuth 1.0aを使用)を使用して、ユーザーを認証し、アクセストークン。TwitterでREST APIを使用してTwitterに付与されたユーザーアクセストークンを取り消す方法

また、前回提供されたアクセストークンを取り消すことで、自分のアプリのユーザーがTwitterから「切断」する方法を提供したいと思います。 。

私はFacebookと同様の統合をOAuth 2経由で行っています。Facebookでそれを行うには、/ me/permissionsルートへのDELETEリクエストが必要です。 Twitterの場合、私はアクセストークンを無効にする方法(このページで言及した:https://dev.twitter.com/oauth/reference/post/oauth2/invalidate/token)を見つけましたが、「認証情報を確認できませんでした」というエラーで失敗するようです。私は正しい資格情報を提供していることを知っています。なぜなら、同じ資格情報を使ってツイートを投稿すれば、そのエンドポイントに投稿するのではなく、成功することができるからです。

注意すべき点:私は、Twitterがユーザー認証のためのOAuth2をサポートしていないことを知りました。そのため、Twitter用にOAuth 1を使用しました。これと何か関係があるかどうかは不明です。トークンを取り消すしようとしている私のアプリから

サンプルコード:

var logout = function(userAccessToken, userAccessTokenSecret, done) { 
    oauth.post(
     "https://api.twitter.com/oauth2/invalidate_token", 
     userAccessToken, userAccessTokenSecret, 
     {"access_token": userAccessToken}, 
     "application/json", 
     function(error, data) { 
     console.log("response from Twitter: error = " + JSON.stringify(error) + ", data = " + JSON.stringify(data)); 
     done(error, data); 
     } 
    ); 
} 
+0

私はこれがhttps://dev.twitter.com/oauth/reference/post/oauth2/tokenを介して取得するベアラトークンでのみ動作することを確信しています –

答えて

1

これは今可能ではないようです。あなたは、アプリケーションが唯一のあなたはFAQセクショントークンによる

https://dev.twitter.com/oauth/reference/post/oauth2/token

を介して取得することができますトークンでのみ動作してルートは、その設定でユーザ人自身によって取り消すことができます。現在、自主的にユーザーのアクセストークンを取り消すためのアプリケーションのための手立て

https://twittercommunity.com/t/actively-revoking-oauth-access-tokens/1505

ありません:

はさらに、私はあなたがそうであるように、基本的に同じ質問をし、Twitterのコミュニティで、この記事を見つけました誰がアプリケーションへのアクセスを許可したのか。ユーザーがアプリケーションを使用していないことを意味しているため、サービスで一定の時間稼働していないと判断した場合は、レコードからアクセストークンを削除することをおすすめします。ユーザーが戻ってきた場合は、再度交渉することができます。

あなたのサイドでトークンを削除するのが最も簡単だと思います。

関連する問題