Archive for 7月, 2010

OAuthについてメモ

Posted: 25th 7月 2010 by ryuga in おもう

FlashでOAuthを使ってみたい!ということで、調べてみたことの自分メモ。 ①OAuthについての基本的な流れを追った ここを読んだ Twitter API を OAuth で認証するスクリプトを 0 から書いてみた サンプルはPythonで書かれているけど、流れはわかりやすい。 ただし、デスクトップアプリケーションの説明なので、Webアプリケーションを作る場合より少し手順が多い。 ※デスクトップアプリケーションかWebアプリケーションかはここの登録画面で選ぶことができる アプリケーション登録申請 もしくはここ アプリケーション登録申請 (どちらで登録しても、ほぼ同じ。ただ、前者の方が、僅かに入力できる項目が多い)     ②FlashでOAuthを使いたい ここを読んだ AIR/ActionScript3でTwitterのOAuthをするための必要最低限 これも、デスクトップアプリケーションでの説明。 この通り作ったら、OAuth認証できた。 デスクトップアプリケーションでも、Webアプリケーションでも対応できた。 がしかし。 なぜFlash+OAuthについて書かれたページがどれも、デスクトップアプリケーションでの説明なのだろう? と不思議に思っていたわけなんだけど、謎が解けた。 ↑で作ったswfをサーバーにおいてみると、動かない。 クロスドメインでひっかかる。 twitterがtwitter.com以外からのアクセスを受け付けてない(http://twitter.com/crossdomain.xml参照)ので、 OAuthのリクエストが通らずに、セキュリティエラーが出てくる。 完全に見落としていた・・・。 とにかく、 Flashを使ったWebアプリケーションで、OAuthは使えない。  ⇒クロスドメインで引っかかる Flashを使ったデスクトップアプリケーションなら、OAuthが使える。 webアプリケーションでFlashを使ってTwitterにアクセスしたい場合 PHPなどサーバーサイドのスクリプトと併用しないと、OAuthの認証ができない。     ③サーバーサイドなしでOAuthを使いたい サーバーサイドなしでOAuth対応Webアプリケーションを作るにはどうしたらいいのか? JavaScriptで検討してみたけど、 JavaScriptでは、OAuthをJavaScriptだけで作ることは不可能。 TwitterクライアントのOAuth対応(Javascript編) ↑このページは参考になった…けど 肝心のコンシューマキーとコンシューマシークレットをどこで設定するのか書いてない。 JSのソースにコンシューマキーとコンシューマシークレットを書くわけにはいかないので JSだけじゃ実装できないんじゃないかと。 (公開されていない場所にJSを置けるなら別だろう) 詳細は調べていない。     ④行き詰って@Anywhereへ ということで、やっとたどり着いたのが@Anywhere [...]