岩本隆史の日記帳(アーカイブ)

はてなダイアリーのサービス終了をうけて移行したものです。更新はしません。

結論―RP(Consumer)はアカウント情報にどのIDを紐づけるべきなのか

前記事の続き。私の中では結論が出た。

  • OpenID 1.1の場合:Verified Identifier
  • OpenID 2.0の場合:OPからのレスポンスに含まれるClaimed Identifier(仕様に従う)

OpenID 2.0については前記事で見たとおり。OpenID 1.1はどうか。

まず、紐づけ候補はClaimed IdentifierとVerified Identifierの2つ。

で、ややこしいのだが、delegateありの場合、Claimed Identifierは下記2つのURLを意味する(参考:あなたのサイトをOpenID対応にしている2行の意味 (1/3):OpenIDの仕様と技術(2) - @IT)。

  1. ユーザが入力したURL
  2. 1のURLのHTMLで「openid.delegate」指定されたURL

OpenIDの性質上、2はVerified Identifierと同じURLになる。したがって、紐づけ候補のひとつに挙げたClaimed Identifierとは「1. ユーザが入力したURL」のことだと思っていただきたい(delegateなしの場合は1しかなく、それはVerified Identifierと同じURLになる)。

で、ついついツイッターはこのClaimed Identifierを紐づけており、アバウトミーはVerified Identifierを紐づけているわけだ(参考:「ついついツイッター」はアカウント情報とClaimed Identifierが1対1で紐づいている - 岩本隆史の日記帳)。

どちらも問題はないのだが、これからRP(Consumer)を作るなら、OpenID 2.0に合わせて(IdPからの)レスポンスに含まれるVerified Identifierを紐づけるのが得策だと思う。OpenIDのバージョンによって処理を大きく変える必要がなくなるので。

追記(2008-02-05)

紐付けについては「結論の訂正―紐づけるべきはClaimed Identifier - 岩本隆史の日記帳」が結論となっています。ぜひご参照ください。