自分のドメインをOpenIDとしてつかう〜failover付き

Saw Gina Tripani が Chriss Messina の「This Week in Google」に関してブログを書いてる。どうやったら、自分のドメインをOpenIDとしてつかえるか、という話だ。

http://smarterware.org/6286/how-to-set-up-openid-on-your-own-domain/

コメント欄でも、多くの人が「そんなこと、OpenIDってできるんだ!」と喜んでいる。OpenIDの 「デリゲーション」を「いいね!」と人々が思い出したのはとても良いことだ。

そのブログで、

どうやったら Idproxy を僕の “fallback” provider に指定できるのかまだわからないんだよね。もしわかったら、コメントで教えて。

と彼は書いていて、それに対して、John Bradley が返事を書いているのだが、Wordpress のコメント欄がタグを食べてしまって意味不明になっているので、ここに私のバージョンを書いておこうと思う。

(1) 以下のような XRDS ファイルを作る。内容は、自分に合わせて適宜書き換えること。

<?xml version="1.0" encoding="UTF-8"?>
<xrds:XRDS xmlns:xrds="xri://$xrds" xmlns="xri://$xrd*($v*2.0)">
  <XRD>
    <CanonicalID>http://xri.net/=!E18C.3B56.889D.850B</CanonicalID>
    <Service priority="10">
      <Type>http://specs.openid.net/auth/2.0/signon</Type>
      <URI>https://authn.fullxri.com/authentication/</URI>
      <LocalID>http://xri.net/=!E18C.3B56.889D.850B</LocalID>
    </Service>
    <Service priority="20">
      <Type>http://specs.openid.net/auth/2.0/signon</Type>
      <URI>https://www.google.com/accounts/o8/ud?source=profiles</URI>
      <LocalID>http://www.google.com/profiles/sakimura</LocalID>
    </Service>
  </XRD>
</xrds:XRDS>

この中で、各<Service>が、それぞれの Authentication Service を表している。
上記の例では、Google (priority=”20″) が fullxri (priority=”10″) のフェールオーバーサーバーとして指定されている。

(2) このファイルの場所を、以下のようにして、ドメインのトップページに記載。(以下の例では、www.sakimura.org にトップにおいた、yadis.xml ということになっている。)

<meta http-equiv="X-XRDS-Location" content="http://www.sakimura.org/yadis.xml"></meta>

これだけ!

残念ながら、すべてのRPライブラリがこのようなフェールオーバーに対応している訳ではない。私が知る限り、DotNetOpenAuth と JanRain のライブラリは対応しているようだ。

コメントを残す

メールアドレスが公開されることはありません。

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください