狠狠撸

狠狠撸Share a Scribd company logo
Yadis/XRI and OpenID =zigorou Toru Yamaguchi <zigorou@cpan.org>
Agenda Yadis プロトコル XRI  と  i-name
Yadis protocol Yadis Protocol
Yadis protocol Yadis protocol とは何か http:// yadis.org/wiki/What_is_Yadis 与えられた URL からどのようなサービスが利用出来るかを提供する為のプロトコル SSO を提供するような認証サービスとか プロフィール交換やフォームの補完の為のサービス ブログのアンチスパムとか つまり URL から使えるサービスを discovery する為のプロトコル
Yadis protocol OpenID における Yadis protocol の位置づけ OpenID Authentication 2.0 の discovery に採用された。 [7.3 discovery] XRI ならば XRI Proxy Resolver を介して XRDS 文書が返って来る URL ならば最初に Yadis protocol で試してみる。結果は XRDS 文書 以上がダメなら旧来どおり HTML ベースの discovery
Yadis protocol 動作概要 Yadis ID(URL ないしは XRI) から実際に Y アクセスして Resource Descriptor URL を何らかの方法で得る Resource Descriptor URL にアクセスすると XRDS 文書が得られる XRDS 文書を見ると Yadis ID にひもづく利用可能なサービス一覧を取得出来る
Yadis protocol 重要な用語  (1) Yadis User Yadis ID を持ってるユーザー Yadis URL Yadis ID とほぼ等価。 Yadis ID が URL なら一致、 XRI のような物ならば XRI から変換した URL Yadis Resource  Yadis protocol を使って複数のサービスの所在を提供するシステムの事。 OpenID で言えば OpenID Provider がそれに当たる
Yadis Protocol 重要な用語  (2) Yadis document Yadis Resource Descriptor を含む XML 文書 Yadis Resource Descriptor Yadis document の要素。 Yadis ID を使う事が出来るサービスを識別する為に用いる まぁ大体 Yadis document と同じ意味 Resource Descriptor URL Yadis document の所在
Yadis protocol Yadis protocol sequence Yadis ID へ GET or HEAD X-XRDS-Location を meta 要素で持つ X-XRDS-Location をレスポンスヘッダで持つ X-XRDS-Location ヘッダを含む Or / And Content-Type が application/xrds+xml 文書の mimetype が application/xrds+xml Yadis Document (XRDS document) Resource Descriptor URL に GET X-XRDS-Location ヘッダがある X-XRDS-Location ヘッダがない HEAD の場合で meta 要素にあり、他が該当しない場合は改めて GET を行う
Yadis protocol Yadis document  概要 ルート要素は XRDS 要素 XRDS 要素の子要素は XRD 要素 XRD 要素の子要素は Service 要素 Service 要素の子要素は Type ,  URI 要素 Service 要素 ,  URI 要素は priority 属性を持っても良い priority は小さい数値ほど優先 Service 要素の中にそのサービス固有の要素を含めても良い
Yadis protocol Yadis document の例 $ curl -H &quot;Accept: application/xrds+xml&quot; http://zigorou.myopenid.com/ <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> <xrds:XRDS xmlns:xrds=&quot;xri://$xrds&quot; xmlns:openid=&quot;http://openid.net/xmlns/1.0“ xmlns=&quot;xri://$xrd*($v*2.0)&quot;> <XRD> <Service priority=&quot;0&quot;> <Type>http://specs.openid.net/auth/2.0/signon</Type> <Type>http://openid.net/sreg/1.0</Type> <Type>http://openid.net/extensions/sreg/1.1</Type> <Type> http://schemas.openid.net/pape/policies/2007/06/phishing-resistant </Type> <Type>http://openid.net/srv/ax/1.0</Type> <URI>http://www.myopenid.com/server</URI> <LocalID>http://zigorou.myopenid.com/</LocalID> </Service> <!--  中略  --> </XRD> </xrds:XRDS>
Yadis protocol Yadis document 中の要素 Service 要素 具体的にサービスが提供している内容を記述する Type 要素 Service で対応している物をバージョンを明記して指定する http://specs.openid.net/auth/2.0/signon OpenID Authentication 2.0 に対応してるよって事です URI 要素 そのサービスに必要な URI OpenID の場合だと OP End Point URL になる
Yadis protocol Yadis の有用性 HTML Based discovery で出来ない事は全て有用性と考えられる 異なる認証サービスや ID にひもづくサービスを列挙する事が出来る 特定のサービスでも細かな Type 要素の指定によって、具体的にどのような機能を持っているかを RP が判別出来る c.f.) Attribute Exchange(AX) に対応してるかどうか サービス固有の要素を指定する事によってより具体的な記述が可能
Yadis の問題点 OpenID Provider 側で余計な実装が増える こと OpenID Provider としてだけ動作するのであれば、 Yadis protocol に対応する必然性は無い  ( 旧来の HTML Base で構わない ) その先に XRDS と言う Yadis 文書より複雑な仕様がある><  [XRI Resolution 2.0] Yadis が規定している要素よりももっといっぱいある  orz...
XRI and i-name XRI and i-name
XRI and i-name XRI とは? IRI[RFC 3987]/URI[RFC 3986] のシンタックスを踏襲 抽象的な「名前」を具体的な「場所」を指し示すようにデザインされた識別子 何故抽象的にする必要性があるのかがまだ理解出来ない  =nat さんが飲み会で補足説明してくれるハズ 場所にはどのような物があるのか http(s) 以外を指し示す事も可能 ( 最終的に URI に変換できるから ) http(s) 以外に何に使うの?
XRI and i-name OpenID における XRI の位置づけ OpenID Authentication 2.0 で XRI を Identifier として使えるようになった c.f.) xri://=zigorou XRI は XRI Proxy Resolver を介して、 URI に変換され、その URI が指し示すリソースが XRDS 文書を返す ここで初めて OP EndPoint とかが分かる Yadis の例と同じだと考えて良い
XRI and i-name XRI Syntax (1) - Basic XRI の基本的な構造  ( ざっくり版 ) [“xri://”]?authority??[”/” path]?[”?” query]?[”#” fragment]   XRI Syntax 2.0 に書いてあります ABNF 記法 と言う訳で URI と同じような構成 但し拡張されたシンボルやデリミタが多数ある また相対パス指定が出来るので Resolution が必須
XRI and i-name XRI Syntax (2) - XRI Authority absolute-XRI = [xri://]  xri-hier-part  [“?” iquery] xri-hier-part = ( xri-authority  / iauthority) xri-path-abempty xri-authority =  gcs-authority  / xref-authority gcs-authority = pgcs-authority /  rgcs-authority pgcs-authority =  rgcs-char  xri-segment rgcs-char = “ = ” / “ @ ” / “ + ” / “ $ ”
XRI and i-name XRI Syntax (3) - Global Context Symbol Authority “ =”  は  Person 個人を指し示します “ @”  は  Organization 組織を指し示します “ +”  は  Generic public 特に何かを制御するような識別子ではなく、特定の同意の下に表現されている “ $”  は  Standard body XRI の他の技術仕様の namespace や、 OASIS が規定している他の技術仕様を指し示す為のシンボル
XRI and i-name i-name GCS Authority のうち” @” と” =” で表される XRI の事と言って良さそう =nat さん合ってますか? w i-name の取得が出来て、 i-name から利用出来る各種サービス (i-service) を提供するプロバイダを i-name provider と言う
XRI and i-name i-name example gcs-authority part は英数字以外は” .”, “-” が許されている =zigorou.masuda =zigorou-masuda @cybozu.labs @cybozu-labs 末尾は英数字のみ =zigorou.masuda- こういうのはダメ!
XRI and i-name Community i-name gcs authority part 以下に” *” で Community i-name と言うサブアカウントみたいなのを定義出来る =zigorou*son @cybozu.labs*zigorou @hatena*ZIGOROu
XRI and i-name XRI Proxy Resolver http://xri.net/ xri-no-scheme xri-no-scheme = xri-hier-part [ &quot;?&quot; iquery ]  [ &quot;#&quot; ifragment ]   http://xri.net/=zigorou/ curl -H “Accept: application/xrds+xml” http://xri.net/=zigorou/  で XRDS 文書が返ってくる どうも  http://beta.xri.net/  も同様の機能があるっぽぃ より高機能に思えるが使い方が書いてあるオンラインリソースを見つけられない><
XRI and i-name i-service i-name プロバイダが提供しているサービス SSO, Contact, Forwarding Contact サービスは i-name 間でやり取りできるメールのような物 xri://=zigorou/(+contact) Forwarding はリダイレクトサービス xri://=zigorou/(+blog)
XRI and i-name XRI / i-name の有用性 i-nameプロバイダは基本的にエスクロー(仲介)サービスとしてクリアしなければならない課題が多いので、逆に言えば信頼できるプロバイダだと言える i-serviceで提供されているようなcontactサービスなどは非常にソーシャルな機能である Community i-nameを使えばさらにlow levelなi-nameを他者に提供出来る
XRI and i-name XRI の欠点 基本的に有償 その性質上止むを得ないとしても Web の世界では余り受け入れられそうにない 一応無償のもある freexri.com xrid.net 最終的には xri.net で提供している XRI Proxy Resolver に問い合わせなければならない  (DNS のような仕組みでは無さそう ) シングルポイントじゃないか? 仕様が余りに複雑すぎる XRI Relative Reference の解決 Local XRI Resolver 現状 XRI の仕様をまともに impl してる RP ライブラリは無さそう
XRI and i-name 参考となる Web 上のリソース http://yadis.org/wiki/What_is_Yadis http://dev.inames.net/wiki/Main_Page http://iss.xdi.org/moin.cgi http://www.inames.net/ http://www.oasis-open.org/committees/download.php/15376 http://docs.oasis-open.org/xri/2.0/specs/cd02/xri-resolution-V2.0-cd-02.html
Thanks ご清聴ありがとうございました

More Related Content

Similar to Yadis/XRI and OpenID (20)

PDF
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
Nov Matake
?
PDF
后期02
Takenori Nakagawa
?
PPTX
DApps のユーザ認証に web3.eth.personal.sign を使おう!
Drecom Co., Ltd.
?
PPTX
Spring data-rest-and-spring-cloud-contract
Takeshi Ogawa
?
PDF
Couchbase MeetUP Tokyo - #11 Omoidenote
kitsugi
?
PDF
初めての Data API CMS と?うて?しょう - 仙台編 -
Yuji Takayama
?
PDF
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
Takashi Yahata
?
PDF
Movable Type 6 Overview - New York Perl Mongers Tech Talk
Yuji Takayama
?
PPTX
Reladomo in Scala #scala_ks
Hiroshi Ito
?
PDF
マッチングアプリ『Omiai』の Flutter へのリプレイスの挑戦 (FlutterKaigi 2024)
Kosuke Saigusa
?
PPT
Inside mobage platform
Toru Yamaguchi
?
PDF
[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう by SRA OSS, Inc. 日本支社 高塚遥
Insight Technology, Inc.
?
PDF
Html5 Web Applications
totty jp
?
PDF
初めての Data api cms と?うて?しょう - 大阪夏の陣
Yuji Takayama
?
PDF
顿补谤迟でサーバレスサービス
cch-robo
?
PDF
AWS は形式手法の夢を見るか? - モデル検査器 Alloy によるインフラ設計
y_taka_23
?
PDF
ochacafe#6 人にもマシンにもやさしいAPIのエコシステム
オラクルエンジニア通信
?
PDF
贰肠尘补蝉肠谤颈辫迟2015とその周辺について
豊明 尾古
?
PDF
勉強会force#4 Chatter Integration
Kazuki Nakajima
?
PPTX
エンタープライズ分野での実践础苍驳耻濒补谤闯厂
Ayumi Goto
?
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
Nov Matake
?
DApps のユーザ認証に web3.eth.personal.sign を使おう!
Drecom Co., Ltd.
?
Spring data-rest-and-spring-cloud-contract
Takeshi Ogawa
?
Couchbase MeetUP Tokyo - #11 Omoidenote
kitsugi
?
初めての Data API CMS と?うて?しょう - 仙台編 -
Yuji Takayama
?
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
Takashi Yahata
?
Movable Type 6 Overview - New York Perl Mongers Tech Talk
Yuji Takayama
?
Reladomo in Scala #scala_ks
Hiroshi Ito
?
マッチングアプリ『Omiai』の Flutter へのリプレイスの挑戦 (FlutterKaigi 2024)
Kosuke Saigusa
?
Inside mobage platform
Toru Yamaguchi
?
[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう by SRA OSS, Inc. 日本支社 高塚遥
Insight Technology, Inc.
?
Html5 Web Applications
totty jp
?
初めての Data api cms と?うて?しょう - 大阪夏の陣
Yuji Takayama
?
顿补谤迟でサーバレスサービス
cch-robo
?
AWS は形式手法の夢を見るか? - モデル検査器 Alloy によるインフラ設計
y_taka_23
?
ochacafe#6 人にもマシンにもやさしいAPIのエコシステム
オラクルエンジニア通信
?
贰肠尘补蝉肠谤颈辫迟2015とその周辺について
豊明 尾古
?
勉強会force#4 Chatter Integration
Kazuki Nakajima
?
エンタープライズ分野での実践础苍驳耻濒补谤闯厂
Ayumi Goto
?

More from Toru Yamaguchi (17)

PDF
これからの Microservices
Toru Yamaguchi
?
PDF
OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015
Toru Yamaguchi
?
PDF
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015
Toru Yamaguchi
?
PPTX
革新的ブラウザゲームを支えるプラットフォーム技术
Toru Yamaguchi
?
PPTX
技术选択とアーキテクトの役割 (要約版)
Toru Yamaguchi
?
PPTX
技术选択とアーキテクトの役割
Toru Yamaguchi
?
PDF
How to bake delicious cookie (RESTful Meetup #03)
Toru Yamaguchi
?
PDF
Yapc asia 2011_zigorou
Toru Yamaguchi
?
PPTX
ngCore engine for mobage platform
Toru Yamaguchi
?
PDF
mbga Open Platform and Perl
Toru Yamaguchi
?
PDF
Introduction OpenID Authentication 2.0 Revival
Toru Yamaguchi
?
PDF
OpenID Mobile Profile
Toru Yamaguchi
?
PDF
Introduction OpenID Authentication 2.0
Toru Yamaguchi
?
PDF
OpenID 2009
Toru Yamaguchi
?
PPT
Mobile Openid
Toru Yamaguchi
?
PPT
Client Side Cache
Toru Yamaguchi
?
PPT
Customization of DBIC::Schema::Loader
Toru Yamaguchi
?
これからの Microservices
Toru Yamaguchi
?
OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015
Toru Yamaguchi
?
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015
Toru Yamaguchi
?
革新的ブラウザゲームを支えるプラットフォーム技术
Toru Yamaguchi
?
技术选択とアーキテクトの役割 (要約版)
Toru Yamaguchi
?
技术选択とアーキテクトの役割
Toru Yamaguchi
?
How to bake delicious cookie (RESTful Meetup #03)
Toru Yamaguchi
?
Yapc asia 2011_zigorou
Toru Yamaguchi
?
ngCore engine for mobage platform
Toru Yamaguchi
?
mbga Open Platform and Perl
Toru Yamaguchi
?
Introduction OpenID Authentication 2.0 Revival
Toru Yamaguchi
?
OpenID Mobile Profile
Toru Yamaguchi
?
Introduction OpenID Authentication 2.0
Toru Yamaguchi
?
OpenID 2009
Toru Yamaguchi
?
Mobile Openid
Toru Yamaguchi
?
Client Side Cache
Toru Yamaguchi
?
Customization of DBIC::Schema::Loader
Toru Yamaguchi
?
Ad

Recently uploaded (9)

PDF
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?
PDF
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
PDF
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
PDF
API認可を支えるKeycloakの基本と設計の考え方 ~ OAuth/OIDCによるAPI保護のベストプラクティス ~
Hitachi, Ltd. OSS Solution Center.
?
PDF
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2025_報告会資料_渡辺さ...
IGDA Japan SIG-Audio
?
PDF
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
?
PDF
マルチAIエージェントの産業界での実践に向けたオープンソース活動の展望 - Japan Regional User Group (RUG) Meet-Up
Kosaku Kimura
?
PDF
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2024_報告会資料_増野さ...
IGDA Japan SIG-Audio
?
PDF
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
?
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
API認可を支えるKeycloakの基本と設計の考え方 ~ OAuth/OIDCによるAPI保護のベストプラクティス ~
Hitachi, Ltd. OSS Solution Center.
?
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2025_報告会資料_渡辺さ...
IGDA Japan SIG-Audio
?
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
?
マルチAIエージェントの産業界での実践に向けたオープンソース活動の展望 - Japan Regional User Group (RUG) Meet-Up
Kosaku Kimura
?
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2024_報告会資料_増野さ...
IGDA Japan SIG-Audio
?
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
?
Ad

Yadis/XRI and OpenID

  • 1. Yadis/XRI and OpenID =zigorou Toru Yamaguchi <zigorou@cpan.org>
  • 4. Yadis protocol Yadis protocol とは何か http:// yadis.org/wiki/What_is_Yadis 与えられた URL からどのようなサービスが利用出来るかを提供する為のプロトコル SSO を提供するような認証サービスとか プロフィール交換やフォームの補完の為のサービス ブログのアンチスパムとか つまり URL から使えるサービスを discovery する為のプロトコル
  • 5. Yadis protocol OpenID における Yadis protocol の位置づけ OpenID Authentication 2.0 の discovery に採用された。 [7.3 discovery] XRI ならば XRI Proxy Resolver を介して XRDS 文書が返って来る URL ならば最初に Yadis protocol で試してみる。結果は XRDS 文書 以上がダメなら旧来どおり HTML ベースの discovery
  • 6. Yadis protocol 動作概要 Yadis ID(URL ないしは XRI) から実際に Y アクセスして Resource Descriptor URL を何らかの方法で得る Resource Descriptor URL にアクセスすると XRDS 文書が得られる XRDS 文書を見ると Yadis ID にひもづく利用可能なサービス一覧を取得出来る
  • 7. Yadis protocol 重要な用語 (1) Yadis User Yadis ID を持ってるユーザー Yadis URL Yadis ID とほぼ等価。 Yadis ID が URL なら一致、 XRI のような物ならば XRI から変換した URL Yadis Resource Yadis protocol を使って複数のサービスの所在を提供するシステムの事。 OpenID で言えば OpenID Provider がそれに当たる
  • 8. Yadis Protocol 重要な用語 (2) Yadis document Yadis Resource Descriptor を含む XML 文書 Yadis Resource Descriptor Yadis document の要素。 Yadis ID を使う事が出来るサービスを識別する為に用いる まぁ大体 Yadis document と同じ意味 Resource Descriptor URL Yadis document の所在
  • 9. Yadis protocol Yadis protocol sequence Yadis ID へ GET or HEAD X-XRDS-Location を meta 要素で持つ X-XRDS-Location をレスポンスヘッダで持つ X-XRDS-Location ヘッダを含む Or / And Content-Type が application/xrds+xml 文書の mimetype が application/xrds+xml Yadis Document (XRDS document) Resource Descriptor URL に GET X-XRDS-Location ヘッダがある X-XRDS-Location ヘッダがない HEAD の場合で meta 要素にあり、他が該当しない場合は改めて GET を行う
  • 10. Yadis protocol Yadis document 概要 ルート要素は XRDS 要素 XRDS 要素の子要素は XRD 要素 XRD 要素の子要素は Service 要素 Service 要素の子要素は Type , URI 要素 Service 要素 , URI 要素は priority 属性を持っても良い priority は小さい数値ほど優先 Service 要素の中にそのサービス固有の要素を含めても良い
  • 11. Yadis protocol Yadis document の例 $ curl -H &quot;Accept: application/xrds+xml&quot; http://zigorou.myopenid.com/ <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> <xrds:XRDS xmlns:xrds=&quot;xri://$xrds&quot; xmlns:openid=&quot;http://openid.net/xmlns/1.0“ xmlns=&quot;xri://$xrd*($v*2.0)&quot;> <XRD> <Service priority=&quot;0&quot;> <Type>http://specs.openid.net/auth/2.0/signon</Type> <Type>http://openid.net/sreg/1.0</Type> <Type>http://openid.net/extensions/sreg/1.1</Type> <Type> http://schemas.openid.net/pape/policies/2007/06/phishing-resistant </Type> <Type>http://openid.net/srv/ax/1.0</Type> <URI>http://www.myopenid.com/server</URI> <LocalID>http://zigorou.myopenid.com/</LocalID> </Service> <!-- 中略 --> </XRD> </xrds:XRDS>
  • 12. Yadis protocol Yadis document 中の要素 Service 要素 具体的にサービスが提供している内容を記述する Type 要素 Service で対応している物をバージョンを明記して指定する http://specs.openid.net/auth/2.0/signon OpenID Authentication 2.0 に対応してるよって事です URI 要素 そのサービスに必要な URI OpenID の場合だと OP End Point URL になる
  • 13. Yadis protocol Yadis の有用性 HTML Based discovery で出来ない事は全て有用性と考えられる 異なる認証サービスや ID にひもづくサービスを列挙する事が出来る 特定のサービスでも細かな Type 要素の指定によって、具体的にどのような機能を持っているかを RP が判別出来る c.f.) Attribute Exchange(AX) に対応してるかどうか サービス固有の要素を指定する事によってより具体的な記述が可能
  • 14. Yadis の問題点 OpenID Provider 側で余計な実装が増える こと OpenID Provider としてだけ動作するのであれば、 Yadis protocol に対応する必然性は無い ( 旧来の HTML Base で構わない ) その先に XRDS と言う Yadis 文書より複雑な仕様がある>< [XRI Resolution 2.0] Yadis が規定している要素よりももっといっぱいある orz...
  • 15. XRI and i-name XRI and i-name
  • 16. XRI and i-name XRI とは? IRI[RFC 3987]/URI[RFC 3986] のシンタックスを踏襲 抽象的な「名前」を具体的な「場所」を指し示すようにデザインされた識別子 何故抽象的にする必要性があるのかがまだ理解出来ない =nat さんが飲み会で補足説明してくれるハズ 場所にはどのような物があるのか http(s) 以外を指し示す事も可能 ( 最終的に URI に変換できるから ) http(s) 以外に何に使うの?
  • 17. XRI and i-name OpenID における XRI の位置づけ OpenID Authentication 2.0 で XRI を Identifier として使えるようになった c.f.) xri://=zigorou XRI は XRI Proxy Resolver を介して、 URI に変換され、その URI が指し示すリソースが XRDS 文書を返す ここで初めて OP EndPoint とかが分かる Yadis の例と同じだと考えて良い
  • 18. XRI and i-name XRI Syntax (1) - Basic XRI の基本的な構造 ( ざっくり版 ) [“xri://”]?authority??[”/” path]?[”?” query]?[”#” fragment] XRI Syntax 2.0 に書いてあります ABNF 記法 と言う訳で URI と同じような構成 但し拡張されたシンボルやデリミタが多数ある また相対パス指定が出来るので Resolution が必須
  • 19. XRI and i-name XRI Syntax (2) - XRI Authority absolute-XRI = [xri://] xri-hier-part [“?” iquery] xri-hier-part = ( xri-authority / iauthority) xri-path-abempty xri-authority = gcs-authority / xref-authority gcs-authority = pgcs-authority / rgcs-authority pgcs-authority = rgcs-char xri-segment rgcs-char = “ = ” / “ @ ” / “ + ” / “ $ ”
  • 20. XRI and i-name XRI Syntax (3) - Global Context Symbol Authority “ =” は Person 個人を指し示します “ @” は Organization 組織を指し示します “ +” は Generic public 特に何かを制御するような識別子ではなく、特定の同意の下に表現されている “ $” は Standard body XRI の他の技術仕様の namespace や、 OASIS が規定している他の技術仕様を指し示す為のシンボル
  • 21. XRI and i-name i-name GCS Authority のうち” @” と” =” で表される XRI の事と言って良さそう =nat さん合ってますか? w i-name の取得が出来て、 i-name から利用出来る各種サービス (i-service) を提供するプロバイダを i-name provider と言う
  • 22. XRI and i-name i-name example gcs-authority part は英数字以外は” .”, “-” が許されている =zigorou.masuda =zigorou-masuda @cybozu.labs @cybozu-labs 末尾は英数字のみ =zigorou.masuda- こういうのはダメ!
  • 23. XRI and i-name Community i-name gcs authority part 以下に” *” で Community i-name と言うサブアカウントみたいなのを定義出来る =zigorou*son @cybozu.labs*zigorou @hatena*ZIGOROu
  • 24. XRI and i-name XRI Proxy Resolver http://xri.net/ xri-no-scheme xri-no-scheme = xri-hier-part [ &quot;?&quot; iquery ] [ &quot;#&quot; ifragment ] http://xri.net/=zigorou/ curl -H “Accept: application/xrds+xml” http://xri.net/=zigorou/ で XRDS 文書が返ってくる どうも http://beta.xri.net/ も同様の機能があるっぽぃ より高機能に思えるが使い方が書いてあるオンラインリソースを見つけられない><
  • 25. XRI and i-name i-service i-name プロバイダが提供しているサービス SSO, Contact, Forwarding Contact サービスは i-name 間でやり取りできるメールのような物 xri://=zigorou/(+contact) Forwarding はリダイレクトサービス xri://=zigorou/(+blog)
  • 26. XRI and i-name XRI / i-name の有用性 i-nameプロバイダは基本的にエスクロー(仲介)サービスとしてクリアしなければならない課題が多いので、逆に言えば信頼できるプロバイダだと言える i-serviceで提供されているようなcontactサービスなどは非常にソーシャルな機能である Community i-nameを使えばさらにlow levelなi-nameを他者に提供出来る
  • 27. XRI and i-name XRI の欠点 基本的に有償 その性質上止むを得ないとしても Web の世界では余り受け入れられそうにない 一応無償のもある freexri.com xrid.net 最終的には xri.net で提供している XRI Proxy Resolver に問い合わせなければならない (DNS のような仕組みでは無さそう ) シングルポイントじゃないか? 仕様が余りに複雑すぎる XRI Relative Reference の解決 Local XRI Resolver 現状 XRI の仕様をまともに impl してる RP ライブラリは無さそう
  • 28. XRI and i-name 参考となる Web 上のリソース http://yadis.org/wiki/What_is_Yadis http://dev.inames.net/wiki/Main_Page http://iss.xdi.org/moin.cgi http://www.inames.net/ http://www.oasis-open.org/committees/download.php/15376 http://docs.oasis-open.org/xri/2.0/specs/cd02/xri-resolution-V2.0-cd-02.html