質問: 現在、あるアプリでTwitterログインを実装しています。 を見たところ、Twitter側ではOAuth 1.0aをつかっているそうです。 oauth_tokenを使って、Twitter側のAPIを叩ける用になるのはわかるのですが、 oauth_token_secretは何に使うのでしょうか? refresh tokenという位置づけなのでしょうか?もしそうだとしたら変だなと。 Twitterではtokenに有効期限はないとのこと。となると、refresh_tokenとして使うシチュエーションがない気がします。 となると、OAuth認証という観点ではoauth_tokenだけでいいはずなのに、 oauth_token_secretはなんで存在しているのでしょうか? facebookでの同様フローでのtokenは一種類だけですし。 英語でもぐぐったのですが、解説してるページが見つからずここで質問させていただきます。 よろしくお願いします。
回答: OAuth2 では(httpsを前提にしているので)access_tokenをリクエストに付与するだけでいいのですが、OAuth 1.xではシグネチャを生成してやる必要があります。(非暗号化通信で漏れても正当性が検証できるため) 一方で、 OAuth 1.x にはトークンの更新という概念は存在しない (かったはず)なので、Refresh tokenに該当するものは存在しません。 Facebookの場合は OAuth 2 を採用しているのでフローがシンプルですよね。 [PHP] ライブラリに頼らないTwitterAPI入門 - Qiita