OAuthWRAPとSimple Web Token
OAuthWRAPを調べてるんだけど、SWT(Simple Web Token) とか JWT (JSON Web Token)という言葉がたくさん出てくる。まあ、名前やらサンプルやらからどんな仕様なのかだいたいは想像がつくんだけど、ちゃんとした仕様がなかなかみつからなかったので、見つけたリンクを以下に置いてみた。
http://groups.google.com/group/oauth-wrap-wg/files
http://oauth-wrap-wg.googlegroups.com/web/SWT-v0.9.5.1.pdf
ようするにHTTPのクエリパラメタみたいなフォーマットなんだけど、一つだけ署名用のHMACSHA256という必須項目がある。即ち、署名方式も仕様に含まれているということ。ただクエリパラメタ風にオブジェクトを書き下すことをSWTと呼ぶのかなと誤解してた。
というわけで、非対照暗号を使った署名は前提から外れてしまっているので、その点きをつけなくてはならない。
http://www.leastprivilege.com/IntegratingSimpleWebTokensSWTWithWCFRESTServicesUsingWIF.aspx
The downsides are - it is not a widely adopted token format (current spec version is 0.9.5.1) and the lack of asymmetric signatures (e.g. X.509 based).
しかし、OAuthWRAPは(SWTを使うと楽ちんだよとはいっているが)Tokenのフォーマットは定めていないので、OAuthWRAPで非対照暗号を使った署名を使ったTokenのやりとりができないということにはならない。