twitteroauthというのを使うと割と簡単にできます。
1.twitteroauthをダウンロード
下記URLへ移動。「ZIP」を押してダウンロードする。
https://github.com/abraham/twitteroauth
※「twitteroauth」というフォルダだけ使用します
2.twitterアプリを登録
下記URLへ移動。twitterアカウントでログインし、開発者ページへ移動します。
(twitterのメニューからは、設定→アプリ連携タブ→「画面右の開発者はこちらから…」のリンクで行けます)
https://dev.twitter.com/apps
My applicationsの画面、右側の「Create a new application」というボタンをクリック。
アプリの登録画面になるので、項目を入力(後から変更できます)。
「Callback URL」はtwitter_login.phpのURLにします。
※例「http://xxx.com/twitter_login.php」など
画面下のCreate your Twitter Applicationボタンで完了
↓こんな感じで入力
登録後、発行されたConsumer KeyとConsumer Secretをメモしておきます。
3.ログイン画面とログイン処理のphpファイルを作る
以下のように配置します。
login.php :ログイン画面(作る)
twitter_login.php:ログイン処理(作る)
twitteroauth(フォルダ)
├OAuth.php :ダウンロード(変更しない)
└twitteroauth.php :ダウンロード(変更しない)
login.phpは、
・セッションの中身を表示 ( echo $_SESSION['user_id'] )※session_start()を忘れずに
・twitter_login.phpへのリンク ( <a href="twitter_login.php">twitterログイン</a> )
が入っていればよいでしょう。
メインはtwitter_login.phpの内容です。
twitteroauthを使って認証します。
↓twitter_login.phpここから
<?php
//セッション開始
session_start();
//twitteroauth.phpを読み込みます。
//「require_once('OAuth.php')」はtwitteroauth.phpの中でしています。
require_once('twitteroauth/twitteroauth.php');
//Twitterアプリケーション申請で取得したコンシューマ key をセット(※xxxxxにセット)
$consumer_key = 'xxxxx';
//Twitterアプリケーション申請で取得したコンシューマ secret をセット(※xxxxxにセット)
$consumer_secret = 'xxxxx';
//twitterで認証されたら、状態を「returned」にする
if ($_REQUEST['oauth_token'] != NULL && $_SESSION['oauth_state'] === 'start') {
$_SESSION['oauth_state'] = $state = 'returned';
}
//未認証の場合は認証のリクエストを飛ばす。認証済みの場合twitterのIDを取得する。
switch ($state){
default:
$to = new TwitterOAuth($consumer_key, $consumer_secret);
$tok = $to->getRequestToken();
//Tokenをセッションに格納
$_SESSION['oauth_request_token'] = $token = $tok['oauth_token'];
$_SESSION['oauth_request_token_secret'] = $tok['oauth_token_secret'];
$_SESSION['oauth_state'] = "start";
//authorization URL を生成
$request_link = $to->getAuthorizeURL($token);
header("Location: $request_link");
break;
case 'returned':
if ($_SESSION['oauth_access_token'] === NULL && $_SESSION['oauth_access_token_secret'] === NULL) {
$to = new TwitterOAuth($consumer_key, $consumer_secret, $_SESSION['oauth_request_token'], $_SESSION['oauth_request_token_secret']);
$tok = $to->getAccessToken();
//Tokenをセッションに格納
$_SESSION['oauth_access_token'] = $tok['oauth_token'];
$_SESSION['oauth_access_token_secret'] = $tok['oauth_token_secret'];
//TwitterのID、名前をセッションに格納
$_SESSION['user_id'] = $tok["user_id"];
$_SESSION['user_name'] = $tok["screen_name"];
}
header("location: login.php.php");
}
?>
↑twitter_login.phpここまで
これでlogin.phpのリンクからtwitterのアカウントでログインできるようになります。
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image