OAuthで気持ちのいいアクセス制御を15. これは、他サイトであるところの 「Twitter」 のID・パスワードの入力を促している。 ここに、TwitterのID・パスワードを入力して ボタンを押すと、(中略)定型文の書き込み操作を 行うという動作をする。 しかし、(中略)この動作は、実際にパスワードを 入力した人の意図に反する動作となっているようだ。 このようなサイトを設置する行為は、 不正アクセス禁止法違反に問われるおそれが あるのではないだろうか。 (高木浩光@自宅の日記「nwitter」の違法性について考えてみる より引用) 24. そこで颯爽と登場したOAuth Twitter のOpenID実装をおこなっていた Blaine Cook 氏らが、必要としていた API アクセス権委譲に関するオープンなプロトコルが存在していないことに気づき、新たなプロトコルを作成するためのプロジェクトを開始した 2007 年 10 月にOAuth Core 1.0 の草案がリリースされた Flickrや Twitter や Google や米 Yahoo など多くのサービスで利用されている 33. 認可とは OAuth (pronounced “Oh-Auth”), summarized as “your valet key for the web," OAuth(オー・オウスと読みます)は、簡単に言えば、「ウェブにおけるバレットキー」のようなもので、 (For immediate release: OAuth Core 1.0 Specification released at Internet Identity Workshopより引用) 35. つまりどういうこと? Basic 認証のために ID とパスワードを教えるということは、相手に全権限を与えてしまうことに等しい OAuthでは一部権限のみを許可するトークンを渡す形をとっている Twitter では「読み書き可」「読みのみ可」の二通りの権限が選択できる トークンには有効期限を設けることができる 37. 1. リクエストトークンの取得 アタシ ツール 歳? 23 まぁ今年で24 彼氏? まぁ (中略) いいから トモのリソースに アクセスさせて みたいな サイト a. リクエストトークン要求 ツール うーん…… ちょっと聞いてみるから トモ連れてきてよ b. リクエストトークン発行 38. 2. ユーザの承認を得る ツール 連れてきてやった みたいな c. ユーザをサービスプロバイダに案内する あなた本物のトモさん? 本当にこの人にアクセスさせて大丈夫なんだね? サイト d. ユーザを認証し、同意を取る トモさんがいいって言うなら仕方がない。 e. ユーザをコンシューマに案内する 40. 4. リソースへのアクセス サイト h. アクセストークンを使って リソースを要求アクセス ツール i. アクセストークンを検証し、 リソースへのアクセスを認める