at posts/single.html

増えすぎた OpenID をどう管理するか

昨日の GINZA TECH LOUNGE feat. OpenID でこんな質問を出した。

最近、OpenIDのアカウントも増えてきたので、どのアカウントでユーザ登録したのかを忘れてしまったことがありました…。

いろいろなサービスでOpenIDが使えるようになったのは嬉しいんだけど、所有している OpenID が増えるとどれで登録したのかが分からなくなってきたりする。 これに対してATNDの中の人は、「RP側で頑張るよりも下のレイヤーで仕組みがほしい」と回答していて、それはそうだよなぁと思ったのでちょっと考えてみた。

今のところ使っているアカウント。

できれば Microsoft の CardSpace みたいに、これらをまとめて管理したい。 とりあえずできそうなことを、ちょっと考えてみたのでメモ。

IDを一つにまとめる

複数のIDを一つにまとめるには、XRDS文書を使えばいい。

このXRDSの中に、自分が使っているOpenIDの一覧を載せておけば、自分がどのIDを持っていたのかを忘れずにすみそう。

RP側の実装案

ユーザがOpenIDを入力し、RPがDiscoveryでXRDS文書を取得するときに、以下のような挙動だと面白いかも。

  • XRDS文書の中に含まれるClaimed Identifierの一覧から、すでにデータベースに登録済みのIDがあれば、それに対応するOPを選択する
  • そうでなければ、priority の一番高いOPを選択する(仕様通り)

希望

  • 信頼できるサイトが「OpenIDおまとめサービス」とかで提供してほしい。URLも短く

課題

yahoo.co.jp や mixi.jp など、個人を特定できないOP Identifier のURLでログインするときは使えない。

関連する日記