NTT IDはOPでもありRPでもあるんですね

まずはsmart.fmさんのログイン画面!
赤丸で囲んであるところですね。
これの対応した直後、mixiのオレンジのボタンが2段目に寄せられちゃってたのを見た気がします。

で、NTT IDに送られるRequestを見てみましょう。
エンドポイントが"https://login.nttid.jp/openid/auth"ですね。

https://login.nttid.jp/openid/auth
?openid.assoc_handle=(アソシエーションハンドル)
&openid.ax.if_available=ext0%2Cext2%2Cext3%2Cext4%2Cext6%2Cext7
&openid.ax.mode=fetch_request
&openid.ax.required=ext1%2Cext5
&openid.ax.type.ext0=http%3A%2F%2Faxschema.org%2Fperson%2Fgender
&openid.ax.type.ext1=http%3A%2F%2Faxschema.org%2Fcontact%2Femail
&openid.ax.type.ext2=http%3A%2F%2Faxschema.org%2Fpref%2Flanguage
&openid.ax.type.ext3=http%3A%2F%2Faxschema.org%2FnamePerson%2Flast
&openid.ax.type.ext4=http%3A%2F%2Faxschema.org%2FnamePerson
&openid.ax.type.ext5=http%3A%2F%2Faxschema.org%2FnamePerson%2Ffriendly
&openid.ax.type.ext6=http%3A%2F%2Faxschema.org%2FnamePerson%2Ffirst
&openid.ax.type.ext7=http%3A%2F%2Faxschema.org%2Fmedia%2Fimage%2Fdefault
&openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select
&openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select
&openid.mode=checkid_setup
&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0
&openid.ns.ax=http%3A%2F%2Fopenid.net%2Fsrv%2Fax%2F1.0
&openid.ns.oauth=http%3A%2F%2Fspecs.openid.net%2Fextensions%2Foauth%2F1.0
&openid.ns.sreg=http%3A%2F%2Fopenid.net%2Fextensions%2Fsreg%2F1.1
&openid.oauth.consumer=
&openid.realm=https%3A%2F%2Fsmart.fm%2Fopen_ids
&openid.return_to=https%3A%2F%2Fsmart.fm%2Fopen_ids%3F_method%3Dget%26open_id_complete%3D1

画面はこうなります。

で、そこから"docomo ID"を選ぶと多段OpenID状態になるんですね。
ここからは、RPがNTT ID,OPがdocomo IDになります。

https://i.mydocomo.com/oid/auth
POST : openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0
&openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select
&openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select
&openid.return_to=https%3A%2F%2Flogin.nttid.jp%2Fopenid%2Frp%2Freturn%3Fsprealm%3Dhttps%253A%252F%252Fsmart.fm%252Fopen_ids
&openid.realm=https%3A%2F%2Flogin.nttid.jp%2Fopenid%2F
&openid.assoc_handle=LhrMgH7EEOCqa3njtOL4g6TTAuMG9kT%2FsGaYBYfRcgmDkGSELPgXg0Cs3a%2Fa0eJt5znA7pAOw%2BV8ooWbkJ6mg7pyyv7ofYgci%2BksKHYb0fU%3D
&openid.mode=checkid_setup

アイアムガラケーユーザー!なのでdocomo ID使いましょう。
docomo IDからNTT IDにAuthN Responseが送られますよ。

https://login.nttid.jp/openid/rp/return?sprealm=https%3A%2F%2Fsmart.fm%2Fopen_ids
POST : openid.signed=op_endpoint%2Creturn_to%2Cresponse_nonce%2Cassoc_handle%2Cclaimed_id%2Cidentity
&openid.assoc_handle=(アソシエーションハンドル)
&openid.op_endpoint=https%3A%2F%2Fi.mydocomo.com%2Foid%2Fauth
&openid.identity=https%3A%2F%2Fi.mydocomo.com%2Fid%2F(ごにょごにょ)
&openid.return_to=https%3A%2F%2Flogin.nttid.jp%2Fopenid%2Frp%2Freturn%3Fsprealm%3Dhttps%253A%252F%252Fsmart.fm%252Fopen_ids
&openid.claimed_id=https%3A%2F%2Fi.mydocomo.com%2Fid%2F(ごにょごにょ)
&openid.sig=L4D2cQgcqdBC4tKJ0KQFh4bfzE3Ysk1aWcYgvfb3kqw%3D
&openid.mode=id_res
&openid.response_nonce=2010-05-16T15%3A42%3A12Z3uo1ut5wvEDU2tlzSVJg4BmPzlpwj1J7mbT
&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0

はい、次にNTT IDからSmart.fmに戻りましょうね。
docomo IDについてはここで終わりです。
返されたdocomo IDのOpenIDからNTT IDの文字列が作られるのでしょう。

https://smart.fm/open_ids?_method=get&open_id_complete=1
POST : openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0
&openid.op_endpoint=https%3A%2F%2Flogin.nttid.jp%2Fopenid%2Fauth
&openid.claimed_id=https%3A%2F%2Flogin.nttid.jp%2Fopenid%2Fid%2Fd%2F(ながーい文字列)
&openid.response_nonce=2010-05-16T15%3A43%3A53Z136ba87686-b8fa-43dc-83ff-06b97d0890ab
&openid.mode=id_res
&openid.identity=https%3A%2F%2Flogin.nttid.jp%2Fopenid%2Fid%2Fd%2F02(ながーい文字列)
&openid.return_to=https%3A%2F%2Fsmart.fm%2Fopen_ids%3F_method%3Dget%26open_id_complete%3D1
&openid.assoc_handle=11eef8d116-2642-4347-abae-667729295d15
&openid.signed=op_endpoint%2Cclaimed_id%2Cidentity%2Creturn_to%2Cresponse_nonce%2Cassoc_handle
&openid.sig=EmpiEwYQYhyoCcKkqZYIBIoILMU%3D

ようやく到着ですね。
多段OpenIDとか言われてますけど、あたりまえですが最終的にNTT IDで作られたOpenIDが渡されてきますね。

また、NTT IDは他にもgooとOCNのIDが使えますね。

NTTIDはdocomoIDのRPでgooとocnのssoパートナーである。で合ってますかね?

http://twitter.com/ritou/status/13963993808

RPX使えば簡単に他のOPをつかった多段OP作ることできそうですよね。
もし、僕が良い感じのドメインをとって、twitterのOAuthをラップしたOP作ったら
ATNDみたいなOpenID限定サイトに入るためにみんな使ってもらえますかね?