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

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

OpenID 2.0ではClaimed Identifierをアカウント情報のキーとすべき

下記の記事の続き。

この記事ではOpenID 1.1と2.0がごっちゃになってました。もうわけがわからなくなってきた。すみませんすみません。

で、仕様書を読み直してみたんですが、OpenID 1.1の場合、Claimed IdentifierとVerified IdentifierのどちらをConsumerのアカウント情報と紐づけるべきかは定義されていませんでした。だからどっちでもいい(えー)。

でも、OpenID 2.0の場合は、きちんと定義されていました。

The Claimed Identifier in a successful authentication response SHOULD be used by the Relying Party as a key for local storage of information about the user. The Claimed Identifier MAY be used as a user-visible Identifier. When displaying URL Identifiers, the fragment MAY be omitted.

Final: OpenID Authentication 2.0 - Final

RPはClaimed Identifierをアカウント情報のキーとすべき、ということですね。でも、このClaimed IdentifierはOpenID 1.1のClaimed Identifierとは別物。定義は下記の通り。

An Identifier that the end user claims to own; the overall aim of the protocol is verifying this claim. The Claimed Identifier is either:

  • The Identifier obtained by normalizing the User-Supplied Identifier, if it was an URL.
  • The CanonicalID, if it was an XRI.
Final: OpenID Authentication 2.0 - Final

Yahoo! OpenIDについて考えたいのでXRIは無視するとして(えー)、User-Supplied Identifierは:

An Identifier that was presented by the end user to the Relying Party, or selected by the user at the OpenID Provider. During the initiation phase of the protocol, an end user may enter either their own Identifier or an OP Identifier. If an OP Identifier is used, the OP may then assist the end user in selecting an Identifier to share with the Relying Party.

Final: OpenID Authentication 2.0 - Final

と定義されています。「their own Identifier」か「OP Identifier」。「yahoo.com」は後者ですよね。

で、ここからがよくわからないのですが、「If an OP Identifier is used, the OP may then assist the end user in selecting an Identifier to share with the Relying Party.」なので、Yahoo!上で「their own Identifier」が確定され、それがClaimed Identifierになるイメージなのかなあ。

結局よくわかりませんでした(えー)。30日のYahoo! OpenID開始後に確認したいと思います……。

追記(2008-02-05)

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