久々にIDのこと考えてるので何か抜けてるかもしれません。
最初に言いたいことはこれです。
ID連携のしくみって、今更一つにまとめられるものではない
RPとOPを仲介するひとたちを想定した拡張を考えてもいいのでは?
ここから現状をダラダラと書き連ねてみます。
なぜOPというかIdP達は使う仕様をそろえないのでしょうか?
世の中には、(いい意味でも)たくさんいいしくみがあるからでしょう。
もしかしたら、古い独自ID連携は実装も大変だけど、OpenID or OAuthのどちらに移行すればいいんだろう、なんて話もあるのではないでしょうか?
こんな状況では、当然ながら
RPが個別に実装するのはしんどい
ですよね。
「要件:ユーザー認証には外部サイトの認証を使う」
って言われた時、どう考えますか?
うわー、こいつら全部実装しようと思ったら、ロジック何個も調べて作ってテストして。。。
ということで、
RPとOPのID関連の処理を仲介する人たちが出てきた
- RPX : OpenID,OpenID + OAuth,OAuth,facebook https://rpxnow.com/ []
- uniID : http://uni-id.nri.co.jp/
素晴らしいと思うのですが、
こういうProxyみたいなのがいる場合、OPはUserにほんとうのRPを示すことはできるのだろうか?
RPサイトを使いたいUserは、こんな画面を目にするかもしれません。
- あなたは「ProxyのURLや名前」にログインします
- 同意してログインすると、あなたは(ProxyのURL)に遷移します
これが、気持ち悪い。
あ、似たような話を聞いたことがありますね。
OpenSocialでは、ContainerがConsumerKeyを1つ持っていて、その中で細かくGadget単位でOAuthのTokenなどを分ける実装も想定されています。
OAuthの拡張として定義されているのが、OAuth Gadgets Extensionですね。
OAuth Gadgets Extension - r-weblife
これと同じことを、OpenIDの拡張で考えてみようかと。
別に難しい話ではなさそうです。
パラメータはOAuth Gadgets Extensionとほぼ変わらない感じになりそう。
あとは、OPがProxyから渡された情報をXRD(メタデータ)を使ってどうやって確認していくかを考えています。
それではまた。