今回はユーザの許可を得る部分をやります。
OAuth では ID や パスワードを使った認証部分を Web サービスに任せたまま、
ユーザデータを外部から使用することができます。
Twitter の場合だとユーザ情報を取得したりツイートしたりすることができます。
そのため、必ずユーザへどのようにデータを使用するかを説明したうえで、
ユーザデータを使用する許可を得なければなりません。
Twitter の場合は上のようにお馴染みの画面で許可を得ることができます。
未認証リクエストトークンを GET パラメータとして付加して、
Twitter の認証ページヘリダイレクトすればよいです。
// リクエストトークンの取得 $tokens = $oauth->getRequestToken('https://api.twitter.com/oauth/request_token'); // Twitter 認証ページヘリダイレクト http_redirect('https://api.twitter.com/oauth/authorize', array('oauth_token' => $tokens['oauth_token'])); // リダイレクトは以下でもOK header('Location: https://api.twitter.com/oauth/authorize?oauth_token=' . $tokens['oauth_token']);
リダイレクトには http_redirect() を使用していますが、header() でもよいです。
これによって上の画像のように認証ページヘジャンプします。
認証が完了すると Twitter へ登録したコールバック URL へ戻ってきます。
コールバックされた時に GET パラメータへ設定されている oauth_token が、
認証済みのリクエストトークンなので、コールバック先の PHP で取得します。
ユーザが許可しなかった場合には danied パラメータが付加されるので
こちらもチェックしておきます。
// ツイッターへのログイン失敗 if(isset($_GET['denied'])) { echo '許可がおりませんでした'; } else { $token = $_GET['oauth_token']; }
次回へ続きます。
0 件のコメント:
コメントを投稿