Windows Live ID の OpenID を試してみたよ
先月末から Community Technology Preview と言う形で Windows Live ID が OpenID Provider サービスを提供しているので試しに使ってみました。
ちなみに 2.0 のみ対応と言う形式みたいです。
まずは取得
最初にテストアカウントを作らねばならないみたいです。https://login.live-int.com/ に飛んで Sign Up しないとダメっす。一通りサインアップが終わったら https://login.live-int.com/beta/ManageOpenID.srf で自分の OP Local Identifier の alias を定義します。とりあえず僕の場合は、http://openid.live-int.com/zigorou としました。
XRDS を見てみる
OP Identifier である "openid.live-int.com" に対して。
$ lwp-request -S -e -d -H "Accept: application/xrds+xml" http://openid.live-int .com/ | grep "X-XRDS-Location" X-XRDS-Location: http://openid.live-int.com/OpenIDXRDS.srf
とのことなので、
$ lwp-request http://op-e http://openid.live-int.com/OpenIDXRDS.srf
とすると、
<?xml version="1.0" encoding="UTF-8"?> <xrds:XRDS xmlns:xrds="xri://$xrds" xmlns:openid="http://openid.net/xmlns/1.0" xmlns="xri://$xrd*($v*2.0)"> <XRD> <Service priority="0"> <Type>http://specs.openid.net/auth/2.0/server</Type> <URI>https://openid.live-int.com/OpenIDAuth.srf</URI> <LocalID>http://specs.openid.net/auth/2.0/identifier_select</LocalID> </Service> </XRD> </xrds:XRDS>
次に OP Local Identifier である http://openid.live-int.com/zigorou に対して、
$ lwp-request -S -e -d -H "Accept: application/xrds+xml" http://openid.live-int .com/zigorou | grep "X-XRDS-Location" X-XRDS-Location: http://openid.live-int.com/OpenIDXRDS.srf?oidn=zigorou
なので、
$ lwp-request "http://openid.live-int.com/OpenIDXRDS.srf?oidn=zigorou"
とすると、
<?xml version="1.0" encoding="UTF-8"?> <xrds:XRDS xmlns:xrds="xri://$xrds" xmlns:openid="http://openid.net/xmlns/1.0" xmlns="xri://$xrd*($v*2.0)"> <XRD> <Service priority="0"> <Type>http://specs.openid.net/auth/2.0/signon</Type> <URI>https://openid.live-int.com/OpenIDAuth.srf</URI> <LocalID>http://openid.live-int.com/zigorou</LocalID> </Service> </XRD> </xrds:XRDS>
って感じ。
anonymous alias がいい感じ
OP Identifier 使った identifier_select による認証の場合、
にあるように、anonymous alias が選べます。これはどうやら RP ごとにユニークな値が使えるみたいなんで名寄せに強いものだと言えます。*1
まとめ
Windows LiveID の OP 実装は、サインアップの時のフローとかが微妙な気がする点を除けば、普通の OP って感じです。OP Endpoint URL もちゃんと https 使ってますし。
anonymous alias もきちんと考えて作られてるので、プライバシーが云々言う人への配慮もきちんとされてる模様でございます。