今日来てた人たちのモジュールやコードを使わせていただいているなー、
っていろんな人の顔を見ながら思った!
発表資料
yokohama.pm slide ナカマップのなにか
最後の方のコードはいろいろおかしいので参考になさらないほうがよいでしょう。
でもSocket.IOはクライアント側すごく短くかけてドメイン超えれるし魅力的だなー
なんとかしたい
なんとかしようと思ったときに、
Authorization Code方式(またはImplicit Grant方式)でaccess_token取得した後に、
そのaccess_tokenをSocket.IOのJavaScriptクライアントに渡せるとよいが、どういう経路で安全に渡すことができるんだろう。
Twitterの@anywhereのドキュメントには、
“`
The higher the anywhere.js file is on the page, the sooner it can process the access token.
[/code]
ってある。
OAuth2のImplicit Grant方式では
Authorization Serverからリダイレクトされてきた時にaccess_tokenが#フラグメント以降に入ってるんだけど
それを他のJavaScriptコードとかから読み取られる前(最初のscriptタグ)にanywhere.jsがあれば
安全ってことなのかな?
上の方にanywhere.js置いてね、って書いてあるけど
スクリプト設置した人が下の方においたら、htmlの上から設置場所までの間にxssでなんか仕込めたらTwitterのaccess_tokenとられちゃうんだよね?
access_tokenの有効期限が短いってことだけどそれでいいのかな?
で@anywhere使ってTwitter認証してリダイレクトされてきたらTwitterにログイン状態で
@anywhereの貼ってあるページ上で誰かをフォローできる、ってことは
access_tokenなのか同様の力を持つものがブラウザにCookieなりlocalStorageなりで保存されてるってこと?
CSRF対策用のトークンみたいなワンタイムな感じなのかな?
わからないことが多すぎる><
anywhere.js を読んでみよう