cakephp用OAuth認証ライブラリをつかってみた
cakephp用OAuth認証:http://code.42dh.com/oauth/
使い方
・OAuth consumer class をダウンロード
→OAuth というフォルダのみ入っているので、venderファイルに移動させる
・app/controllers/example_controller.php//venderフォルダからの読み込み
App::import('Vendor', 'oauth', array('file' => 'OAuth'.DS.'oauth_consumer.php'));class ExampleController extends AppController {
public $uses = array();
public function twitter() {
$consumer = $this->createConsumer();
$requestToken = $consumer->getRequestToken('http://twitter.com/oauth/request_token', 'http://test.localhost/example/twitter_callback');
$this->Session->write('twitter_request_token', $requestToken);
$this->redirect('http://twitter.com/oauth/authorize?oauth_token=' . $requestToken->key);
}
public function twitter_callback() {
$requestToken = $this->Session->read('twitter_request_token');
$consumer = $this->createConsumer();
$accessToken = $consumer->getAccessToken('http://twitter.com/oauth/access_token', $requestToken);
$consumer->post($accessToken->key, $accessToken->secret, 'http://twitter.com/statuses/update.json', array('status' => 'hello world!'));
}
private function createConsumer() {
return new OAuth_Consumer('YOUR_CONSUMER_KEY', 'YOUR_CONSUMER_SECRET');
}
}→赤字の部分は自分のものに変更する
twitterにアクセスすると、認証の画面へ飛んで行って、認証されると
getRequestTokenの第二引数のURLにコールバックされる、流れのようです。
ちょっとまだよくわかんないです。
OAuth認証とは
ユーザーがIDやpassを入力しなくても、認証できる方法で、
アプリ製作者に、自分のIDやpassがばれない方法のようです。アプリケーション製作者にも優しい認証法。
でも、必ずしも安全とはいえないので、許可する場合は
気をつけて、許可する必要があるみたいです。
あまり、理解しきれてないので、頭の中でうまく組み立てられない!!!
やりたいことがまとまらない!!!!
ユーザーが友人の誕生日を個別に登録して、
誕生日がきたら 「@登録者 ○○がお誕生日だよー」 みたいな感じなのかー
そうすると、フォローされているのが大前提だけど、
みんなに、見られてしまうけどいいのかー
ダイレクトメールなのかー
個人情報だから、丁寧に扱わないといけないみたいなので、あたふた。