スポンサーリンク

このドキュメントの内容は、以下の通りです。

PHPのpecl oauthを利用して、TwitterにOAuthを使ってログインする処理を書いてみます。

Twitter で OAuth を使うためには、下記の作業をして、アプリケーションを登録する必要があります。
  • (なければ) Twitter アカウントを作成する
  • Twitter にログインする
  • Twitter にアプリケーションを登録する

アプリケーションの登録


Application Type は Browser です。

アプリケーション登録時に callback URLを auth.php にします。

http://your.domain.net/foo/bar/auth.php

Default Access type はとりあえず Read & Write にしておきます。

Use Twitter for login は オンにしておきます。

アプリケーションを登録すると コンシューマキー(consumer key)とコンシューマシークレット(consumer secret)が表示されます。

OAuth の流れ


OAuth の認証処理の大まかな流れを以下に示します。

  • Request Token を取得します。
  • Request Token で得られた oauth token を URL のパラメータにつけて、OP にリダイレクトします。oauth_token_secretは保存しておきます。
  • ログイン処理、ユーザのアプリケーション認証処理が終わると、Callback URL へリダイレクトされます。
  • GETパラメータの oauth_token と Request Tokenを取得するときに得られた oauth_token_secret を利用して、Access Tokenを取得します。
  • Access Tokenの取得で得られた oauth_token と oauth_token_secret を用いて、 OAuthを利用した API を使用します。

Access Tokenを取得してログイン


login.php とします。

<?php
$req_token_url = 'http://twitter.com/oauth/request_token';
$authurl = 'http://twitter.com/oauth/authorize';
$conkey = 'Your consumer key';
$conssec = 'Your consumer secret';
try {
	$oauth = new OAuth($conkey,$conssec,OAUTH_SIG_METHOD_HMACSHA1,OAUTH_AUTH_TYPE_URI);
	$request_token = $oauth->getRequestToken($req_token_url);
	setcookie('OA', $request_token['oauth_token_secret']);
	header('Location: '. $authurl . '?oauth_token=' . $request_token['oauth_token']);
	exit;
} catch (OAuthException $e) {
	echo '<pre>';
	var_dump ($e);
	echo '</pre>';
}
?>

Request Token のレスポンス


$request_token の内容
array(2) {
	["auth_token"]=>
		string(42) "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
	["oauth_token_secret"]=>
		string(43) "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
}

参考


参照しているページ (サイト内): [2009-10-20-1] [2009-10-19-1]

スポンサーリンク
スポンサーリンク
 
いつもシェア、ありがとうございます!


もっと情報を探しませんか?

関連記事

最近の記事

人気のページ

スポンサーリンク
 

過去ログ

2020 : 01 02 03 04 05 06 07 08 09 10 11 12
2019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12

サイト

Vim入門

C言語入門

C++入門

JavaScript/Node.js入門

Python入門

FreeBSD入門

Ubuntu入門

セキュリティ入門

パソコン自作入門

ブログ

トップ


プライバシーポリシー