たけまる / 2007-09-24
2007-09-24 Mon
_ OAuth - リソースへのアクセスを代行するプロトコル [oauth][openid]



[2007-09-23-1] で AtomPub の認証について書いたからというわけではないのですが,OAuth というプロトコルの仕様を斜め読みしたのでメモして
おきます.間違いがあったら教えていただけると嬉しいです m(_ _)m
(追記) OAuth の「背景」みたいのについては,miyagawa さんからもらっ
たコメントと,まちゅさんのエントリが参考になります.
- miyagawa さん
oAuthはFlickr,GoogleAuthSub,Y!BBAuth,AOL openAuth,TypeKeyなんかの- まちゅさん
統合プロトコルという位置づけ。例では401->WWW-Authenitcateが
handshake になってるけど実際はもっと他の方法で運用されるんじゃない
かなぁ
WebAPI のアクセス制御に使える OAuth という仕様 - まちゅダイアリー (2007-09-25)
さて,OAuth は,第三者に対して,認証を要求するリソースへのアクセス
を一時的に許可するためのプロトコルです.
たとえば,写真印刷サービスがあるとします.そして,あなたは flickr
に保存してある非公開写真の印刷を依頼しようとしています.このとき,
写真を "公開" 状態にすることなく,また flickr へのログイン情報を教
えることもなく,印刷を依頼することができます.
OpenID が "authentication (認証) の分散" だとすると,OAuth は
authorization (許可) になります.
(参考) 仕様から学ぶOpenIDのキホン − @IT
処理フローは OpenID とほぼ同じようです.OpenID の拡張にしてもよさ
そうに思いましたが,OpenID 以外の認証方法と組み合わせるために独立
したプロトコルにしたのでしょう.
いくつか気になった点がありました.
現在の仕様では,アクセスを許可するリソースを限定できないように思い
ました.つまり,写真印刷サービスは,印刷する写真だけでなくすべての
写真にアクセスできてしまいそうです.最終的には修正されると思います
が (詳しくは後述).
さらに,HTTP メソッドを限定できるとよさそうです.GET は許可するけ
ど,PUT, DELETE は不許可という状況はありそうなので.
簡単なメモを残しておきますので,よかったら参考にしてください.詳し
い説明は ZIGOROu さんあたりがしてくれそうな気がするので,待つこと
にしましょう ;-)
《続きを読む》
