とっても簡単!TwitterのOauth認証

最近のサイトは、ほとんどログイン機能にTwitterでログインする機能があるかと思います。
実際にどうやってユーザと判別して、認証に成功するのか、仕組みが知りたかったので実装してみました。

用意するものは以下となります。
・Consumer Key(API Key)とConsumer Secret(API Secret)
・TwitterOAuthライブラリ
・login.php、callback.php、complete.html、error.html

TwitterのAPIを取得

 

 APIキーを取得するために、Twitter Developersにアクセスし、アプリを作成します。
   https://apps.twitter.com/
 詳しいTwitter Developersの登録するサイトは以下を参考にしました。
   Oauth認証に必要なAPI KeyとAPI Secretを取得できます。
   https://syncer.jp/Web/API/Twitter/REST_API/
 また、Twitter Developersの設定でTwitterCallback URLを今回実装するcallback.phpに設定して
 ください。

TwitterOAuthのライブラリを取得

 以下のgitからTwitterOAuthライブラリをダウンロードします。
 https://github.com/abraham/twitteroauth

ライブラリを使って実装

 Developersで作成したアプリのConsumer Key (API Key)、Consumer Secret (API Secret)、
 callbackする時に飛ぶページの場所をそれぞれ定義します。

 次に、API KeyとAPI Secretを使って、Twitterからリクエストトークンを取得します。

 リクエストトークンを使って、今度はアクセストークンを取得します。

 最後にアクセストークンを使ってユーザのTwitter情報(プロフィール、投稿など)を取得しています。
   問題なくユーザー情報を取得できたらcomplete.htmlに移動し、それ以外はerror.htmlにページに移動するようにしてい
 ます。

APIのリファレンスに関しては以下のサイトで日本語で解説されていますので、参考にさせて頂きました。
https://syncer.jp/twitter-api-matome/get/account/verify_credentials

サイトのログイン機能としてTwitterのOauth認証を実装すればユーザの情報を取得し判別することで、
ログイン機能が実装することが可能となります。
途中でトークンの受け渡しが出来ていない場合、不正なアクセスがあった場合などバリデーション処理をおすすめします。
ぜひ、ためしてみて下さい。

●この記事を書いた人