「はてなでログイン」ボタンのために

  • 我らがはてなOpenID ですが、残念ながら 1.1 のみの対応となっています
  • 詳細は読み飛ばしで

<?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://openid.net/signon/1.1</Type>
      <URI>http://ido.nu/ayaya/hatena_openid</URI>
    </Service>
    <Service priority="1">
      <Type>http://openid.net/signon/1.0</Type>
      <URI>http://ido.nu/ayaya/hatena_openid</URI>
    </Service>
  </XRD>
</xrds:XRDS>
http://ido.nu/ayaya/hatena_openid
?openid.mode=checkid_setup
&openid.identity=http://ido.nu/ayaya/hatena_openid
&openid.trust_root=http://openidenabled.com/ruby-openid/trunk/examples/consumer
&openid.return_to=http://openidenabled.com/ruby-openid/trunk/examples/consumer/complete
                  ?openid1_claimed_id=http://ido.nu/ayaya/hatena_openid
                  &rp_nonce=*****
http://www.hatena.ne.jp/openid/server
?openid.mode=checkid_setup
&openid.identity=http://www.hatena.ne.jp/asannou/
&openid.trust_root=http://openidenabled.com/ruby-openid/trunk/examples/consumer
&openid.return_to=http://openidenabled.com/ruby-openid/trunk/examples/consumer/complete
                  ?openid1_claimed_id=http://www.hatena.ne.jp/asannou/
                  &rp_nonce=*****
  • これ以降は普通の認証フロー

  • もちろん、コンシューマのログインフォームから普通に ido.nu/ayaya/hatena_openid と入力してもかまいません
    • タイピングがしんどいので tr.im/hatena というエイリアスもご用意しました