OpenIDとXRI――XRIの基本:ZIGOROuのOpenID Short Clinic
OpenIDにかんするさまざまな疑問を解消していく本連載。今回は、OpenID Authentication 2.0からIdentifierとして採用されたXRIについて解説する。
はじめまして。OpenIDに関する資料を読んでいると、「XRI」という用語を目にしました。URLやURIのような語句と似たようなものなのだと推察しているのですが、XRIとは何かを教えてください。
OpenID Authentication 2.0からIdentifierとして採用されたXRI(eXtensible Resource Identifier)ですが、これはいったい何者なのでしょうか。XRIの仕様群は膨大ですが、要点はそんなに難しい話ではありません。
XRIのシンタックスはURIの拡張
XRIのシンタックスですが、おおむね次のような構成になっています。
'xri://' authority '/' path '?' query '#' fragment
読み方としてはシングルクオートで囲まれた部分は文字列そのもので、「authority」「path」「query」「fragment」は部位でありおのおの細かい記述ルールがあります。スペースに意味はありません。
このルールに当てはまる実際の例としては、
- xri://@a*a/!g!g
- xri://@a*a/!b!b/c*c/!g!g?y
- xri://@a*a/!b!b/c*c/(xri://@d*d/e)?q#s
などがあります。ただし見慣れないシンボルが多数あるかと思います。細かいルールはここでは述べませんが、authority部の先頭にある“@”などは重要な意味を持っています。この部分の文字列はGlobal Context Symbol(以下GCS)といい、OpenIDに密接に関係するのは“@”と“=”です。
i-nameとOpenID
先ほど、GCSのうちOpenIDに密接に関係するのは“@”と“=”と紹介しましたが、この2つは、以下のルールで使い分けます。
- @:組織や団体、企業などを表す
- =:個人を表す
例を挙げるなら、
- xri://@itmedia
- xri://=zigorou
などといった記述が可能になるわけです。この“@”や“=”で始まるXRIをi-nameといいます。
ただし、このGCSは各自が好きなものを自由に名乗れる訳ではなく、i-name providerというサービスで購入する必要があります。筆者はlinksafeというi-name providerで自分のi-name(=zigorou)を取得してみましたが、linksafeでは、個人用途(“=”で始まるi-name)は年12ドル、企業などの用途(“@”で始まるi-name)は年55ドルとなっています。これはURIでいうところのドメイン名に近いものだと思っていただいて構いません。
XRIの用途
さて、URIで実際に示された所在とリソースそのものをわれわれはどのように知るでしょうか。基本的な流れとしては、必要であればDNSに問い合わせることで名前解決を行い、そのサーバに接続し、パスをサーバに示しリソースを得るという流れになると思います。
XRIも少し似ていますが、DNSではなくXRI Proxy Resolverというサービスで「解決」します。ここでいう解決とは、そのXRIに対してどのようなサービスが利用可能かを表すXML文書を取得することを指し、得られるXML文書を「XRDS文書」と呼びます。なお、この「解決」の正しい名称はXRI Resolutionといいます。
だいぶ前置きが長くなってしまいましたが、例えば「xri://=zigorou」であれば、「xri://」を省略して、
http://xri.net/=zigorou?_xrd_r=application/xrds+xml
のようなhttp(s)のリクエストを送れば、XRDS文書が返ってきます。curlコマンドなどで実際に打ってみて確かめてみると良いでしょう。XRDS文書の中身に関してはまた別の機会に解説したいと思います。
著者:山口 徹(やまぐち とおる)
サイボウズ・ラボで研究開発にいそしむPerlハッカー。Perlを中心とした開発のノウハウやネタをShibuya Perl Mongersのイベントで発表するなど講演活動も行う。最近ではOpenIDの実装方法や考察などをブログ「Yet Another Hackadelic」などで書き連ねている。山口氏へのコンタクトはこちらから。
関連記事
- OpenIDとセキュリティ――経路の安全性をどう担保するか
OpenIDにかんするさまざまな疑問を解消していく本連載。今回は、OpenIDではどのような流れで認証手続きが行われているのかを解説する。 - 認証と認可の違い
OpenIDにかんするさまざまな疑問を解消していく本連載。今回は、普段当然のように使用される「認証」「認可」の違いについて解説する。 - 実は簡単なOpenIDの認証手続き
OpenIDにかんするさまざまな疑問を解消していく本連載。今回は、OpenIDではどのような流れで認証手続きが行われているのかを解説する。 - ユーザーの細かなプロファイル情報を取得するには
本稿では、OpenIDに対応した場合にRelying Party側がユーザーの細かなプロファイル情報を取得する方法について解説する。 - OpenIDに対応するメリットは?
OpenIDをめぐってかなりの盛り上がりがみられるようになってきた。しかし、同規格についての詳細やその開発プロセスについてはまだまだ情報が不足している。本連載は、OpenIDにかんするさまざまな疑問をZIGOROuこと山口徹が短時間で解消していく。 - OpenID入門――その導入で何が変わって何が変わらないのか
ここ数カ月で注目を集めつつある話題の1つに、OpenIDというオープン系の分散型デジタル認証システムがある。本稿では、最も基本的なレベルから、OpenIDでは行えないことまで網羅したOpenID入門をお届けする。 - 思い切ってOpenIDを信頼しよう
OpenIDは信頼できないという人もいるが、ある意味では、少なくとも任意のユーザー名とパスワードでログインするのと同じくらいには信頼できる。 - OpenIDの仕様と技術:第1回 仕様から学ぶOpenIDのキホン(@IT)
- OpenIDの仕様と技術:第2回 あなたのサイトをOpenID対応にしている2行の意味(@IT)
- OpenIDの仕様と技術:第3回 Consumerの実装を知り、OpenIDを使ってみよう(@IT)
- OpenIDの仕様と技術:第4回 OpenIDをとりまくセキュリティ上の脅威とその対策(@IT)
- OpenIDの仕様と技術:第5回 OpenID Authentication 2.0時代の幕開け(@IT)
関連リンク
Copyright © ITmedia, Inc. All Rights Reserved.