ウェブ

OpenID2.0の変更点

2008/02/26

openid.jpg

OpenID2.0について調べる機会があったので、メモ代わりに書いてみます。ここ などを参考にしていますが、読み違えていたらご指摘いただけるとありがたいです。(具体的にOpenIDプロバイダとしてlivedoor.comをあげていますが、まだOpenID2.0対応はされていないようです

OpenIDのおさらい

いままでのOpenIDではURLがIDとなっていました。たとえばhttp://blog.poqu.org/ がぼくのURLであれば、これをIDとすることができます。これを実現する手順は下記の通りです。

  1. OpenID プロバイダをみつける(ライブドア、はてなとか)
  2. そのOpenID プロバイダでIDをつくる。
  3. OpenID プロバイダから提供されている下記コードをhttp://blog.poqu.org/ のHTMLに入れる(まだ実際には入れていません)。
    <link rel="openid.server" href="http://auth.livedoor.com/openid/server">
    <link rel="openid.delegate" href="http://profile.livedoor.com/hogehoge">

これでOpenIDを利用することができます。実際の利用の流れは下記の通りです。

  1. たとえばhogeTubeという動画共有サイトがあり、これにはOpenID対応ログイン機能が備わっています
  2. ユーザAさんは自分のOpenID(=URL)を入力します
  3. hogeTubeのプログラムは入力されたOpenID(=URL)を調べ、link rel=”openid.server”の値や、link rel=”openid.delegate”の値を元に認証画面へリダイレクトします。
  4. ユーザはOpenIDプロバイダで登録したIDとPWを入力します
  5. 入力された情報が正しければ、hogeTubeへとリダイレクトします

OpenID2.0の変更点

OpenIDがバージョン2.0になったことで、主に上のハイライト箇所が拡張されました。ざっくり言うと、OpenID2.0の変更点とは

  • OpenIDとして使えるものが増えた(OpenIDプロバイダのURLやXRIなど)=上記ハイライト2に相当
  • それによってOpenID対応アプリがIdentifierを見に行く選択肢が増えた =上記ハイライト3に相当

です。ひとつずつ見ていきます。

OpenIDとして使えるものが増えた(OpenIDプロバイダのURLやXRIなど)

まず「2. ユーザAさんは自分のOpenID(=URL)を入力します」部分では、2.0で下記のものが入力可能になりました。

  1. 自分のURL
    (http://profile.livedoor.com/hogehoge)[Claimed Identifier]
  2. OpenID プロバイダが発行しているユーザURL
    (http://profile.livedoor.com/hogehoge) [OP-Local Identifier]
  3. OpenID プロバイダのURL
    (http://profile.livedoor.com/) [OP Identifier]
  4. XRI
    (http://xri.net/=hogehoge/(+blog))[Claimed Identifier]

1,2に関しては、いままでと変わりません。1,2のHTMLには一番上に書いたopenid.serverやopenid.delegateがlink relとして設定されているはずです。今回の変更は、3,4の追加です。3では、OpenID プロバイダのURL(http://profile.livedoor.com/)だけを入力すればよくなったため、長いURLを覚える必要はありません。たとえばhogeTubeのOpenID認証画面には入力フォームはなく、プルダウンでOpenIDプロバイダを選択させるだけでよいのです。ユーザは選択したプロバイダで自分のIDとPWを入力します。

また4に関しては、XRIというものがどういうものかいまだよくつかめていません。。。

それによってOpenID対応アプリがIdentifierを見に行く選択肢が増えた

次に「3. hogeTubeのプログラムは入力されたOpenID(=URL)を調べ、link rel=”openid.server”の値や、link rel=”openid.delegate”の値を元に認証画面へリダイレクトします。」部分の変更では、上記でいろんなものが入力可能となったため、hogeTubeはいろんなIdentifier(openid.serverやopenid.delegateで書かれたURL)を見に行く必要があります。たとえば下記のものがあります(ここからそのまんま引用)。

  1. hogeTubeに入力されたOpenIDが、XRI(http://xri.net/=hogehoge/(+blog))の場合は、レスポンス本文がXRDS文書となります
  2. hogeTubeに入力されたOpenIDが、URLの場合は、HTMLのレスポンスヘッダでx-xrds-locationの値で指定されたURL、またはmeta要素でhttp-equiv属性がx-xrds-locationの時の対応する値で指定されたURLに文書があります。あるいはcontent-typeがapplication/xrds+xmlの場合はレスポンス本文にXRDS文書があります

XRDS文書はこちら を参考にしてください(手抜き)。


related posts


tags




have your say

Add your comment below, or trackback from your own site. Subscribe to these comments.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="">

:

:


« 山形浩生『要するに』 原稿リンク集を作成
» Apache + Mongrel / Thin で ベーシック認証