あまねこ TOP  >  スポンサー広告 >  php >  PHPでTwitterログオン認証ができるように

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
[ --年--月--日 --:-- ] カテゴリ:スポンサー広告 | TB(-) | CM(-)

PHPでTwitterログオン認証ができるように

やっと半分ぐらい理解したところ。まだ何やってるのか把握できてない点が多い。

index.php いわゆるトップページ

<?php
session_start();
require_once("./lib/twitteroauth.php");
require_once("./lib/setting.php");

if(isset($_SESSION['oauthToken']) && isset($_SESSION['oauthTokenSecret'])){
$userId = $_SESSION['userId'];
$screenName = $_SESSION['screenName'];
$access_token = $_SESSION['oauthToken'];
$access_token_secret = $_SESSION['oauthTokenSecret'];
$to = new TwitterOAuth($consumer_key,$consumer_secret,$access_token,$access_token_secret);
echo $screenName . "
";
echo $userId . "
";
echo 'ログアウト';
}else{
header("Location: ./login.php");
}
?>

login.php トップページにて未認証だったらこっちに飛ばされる

session_start();
require_once("./lib/twitteroauth.php");
require_once("./lib/setting.php");

//セッションのアクセストークンのチェック
if(!isset($_SESSION['oauthToken']) && !isset($_SESSION['oauthTokenSecret'])){
//OAuthオブジェクト生成
$oOauth = new TwitterOAuth($consumer_key,$consumer_secret);

//callback url を指定して request tokenを取得
$oOauthToken = $oOauth->getRequestToken($callBackUrl);

//セッション格納
$_SESSION['requestToken'] = $sToken = $oOauthToken['oauth_token'];
$_SESSION['requestTokenSecret'] = $oOauthToken['oauth_token_secret'];

//Authorize url を取得
$sUrl = $oOauth->getAuthorizeURL($sToken);
echo "ログイン";
}
?>

callback.php

session_start();
require_once("./lib/twitteroauth.php");
//require_once("./lib/setting.php");

//URLパラメータからoauth_verifierを取得
if(isset($_GET['oauth_verifier']) && $_GET['oauth_verifier'] != ''){
$sVerifier = $_GET['oauth_verifier'];
}else{
echo 'oauth_verifier error';
exit;
}

//リクエストトークンでOAuthオブジェクト生成
$oOauth = new TwitterOAuth($consumer_key,$consumer_secret,$_SESSION['requestToken'],$_SESSION['requestTokenSecret']);
//oauth_verifierを使ってAccess tokenを取得
$oAccessToken = $oOauth->getAccessToken($sVerifier);
//取得した値をSESSIONに格納
$_SESSION['oauthToken'] = $oAccessToken['oauth_token'];
$_SESSION['oauthTokenSecret'] = $oAccessToken['oauth_token_secret'];
$_SESSION['userId'] = $oAccessToken['user_id'];
$_SESSION['screenName'] = $oAccessToken['screen_name'];
//loginページへリダイレクト
header("Location: ./index.php");
?>

logout.php

session_start();
// 工程① セッション変数の破棄
$_SESSION = array();

// 工程② セッションIDの破棄(クライアント側)
if(isset($_COOKIE[session_name()])){
setcookie(session_name(), '', time()-42000, '/');
}

// 工程③ セッションIDの破棄(サーバ側)
session_destroy();

/* Redirect to page with the connect to Twitter option. */
header("Location: ./index.php");
?>

/lib/setting.php

$consumer_key = "";
$consumer_secret = "";
//絶対パスじゃないとエラー起こるので注意
$callBackUrl = 'http://localhost/callback.php';
?>
関連記事
[ 2013年07月06日 10:47 ] カテゴリ:php | TB(0) | CM(0)
コメントの投稿












管理者にだけ表示を許可する
トラックバック
この記事のトラックバックURL



上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。