cakephp用OAuth認証ライブラリをつかってみた


cakephpOAuth認証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がばれない方法のようです。

アプリケーション製作者にも優しい認証法。

でも、必ずしも安全とはいえないので、許可する場合は
気をつけて、許可する必要があるみたいです。




あまり、理解しきれてないので、頭の中でうまく組み立てられない!!!
やりたいことがまとまらない!!!!


ユーザーが友人の誕生日を個別に登録して、
誕生日がきたら 「@登録者 ○○がお誕生日だよー」 みたいな感じなのかー

そうすると、フォローされているのが大前提だけど、
みんなに、見られてしまうけどいいのかー

ダイレクトメールなのかー


個人情報だから、丁寧に扱わないといけないみたいなので、あたふた。