日向夏特殊応援部隊

俺様向けメモ

YadisとOpenIDの関係 (1) - Yadisの用語

OpenID Authentication 2.0から正式にXRIおよびYadis Protocolが仕様に盛り込まれました。
一度きちんと勉強したいと思っていたのでYadisについてまとめると共にOpenIDとどのように関連しているのかまとめたいと思います。

Yadisとは

Yadisの概要

こちらは本家What is Yadisが非常に簡潔に説明しています。

Given an identity URL and no other information, how do we know what protocol needs to be used to authenticate that user? Yadis is a service discovery system allowing relying parties (aka identity consumers or membersites) to determine automatically, without end-user intervention, the most appropriate protocol to use.

要約すると、与えられたIdentity URLから自動的に認証サービスを見つけ出すRelying Partyの為のプロトコルと言えます。

具体的な利用目的についても同じくWhat is Yadisから拝借して、

  1. Single sign-on across web sites
  2. Profile exchange and form filling
  3. Blog anti-spam

とあるように、

  1. webサイトでのシングルサインオン
  2. プロフィール交換と投稿フォームでの値の自動埋め込み
  3. アンチスパム(対コメント等)

が主な用途であるとしています。この辺りは非常にOpenIDと近い概念だと言えます。

但し大きく異なるのはYadisはOpenIDのように認証サービスではなく、認証サービス及び他のIdentityベースのサービスをdiscoveryするだけのプロトコルであると言う点です。

Yadisの用語

Yadis 1.0 (HTML) - 3.1 Implementor Termsより拙訳ですが、

Yadis User
Yadis IDをIdentifierとして使用するエンティティです
Yadis IDA
ひとつ、ないしは複数のYadis Serviceと共に使われるIdentifierです。Yadis IDはURLのでも構いません。あるいはXRIのようにURLとして解決可能な他のIdentifierでも構いません。
Yadis URL
Yadis IDの事で、それがURLであったり、さもなければYadis IDが解決するURLです。Yadis URLはYadis Protocolの中でYadis Resource Descriptorの取得に使う事が出来ます。
Yadis Resource
Yadis Protocolを使って一つないしは複数のサービスの所在を提供するソフトウェアのプロセス(ないしはシステム)の事です。
Yadis Service
Yadis Resourceによって提供されるサービスです。
Yadis
javascript:keyword:document">document:Yadis Resource Descriptorに含まれる文書です。
Yadis Resource Descriptor
Yadis IDを使う事が出来るサービスを識別するYadis documentの要素です。
Resource Descriptor URL
Yadis documentの所在を示すURLです。
Agent
partyの為に動作するソフトウェア(あるいはシステム)プロセスの事です。
Yadis User Agent
Yadis Userの為に動作するagentの事です。(例えば一般的なウェブブラウザです)
Relying Party
Relying Party Agentに対して責任を持ち、またそのAgentの動作の代わりになる団体です。Relying PartyはYadis Resourceによって提供されるサービスの上に成り立っています。特にYadis IDによって識別される個人に関連するサービスによって提供されるデータに依存しています。
Relying Party Agent
Yadis User Agentによって提供されるYadis IDを使う(そしてYadis IDを用いて利用出来るデータを使う)Agentによって果たされる役割の事です。Relying Party AgentはYadis Protocolを使ってYadis IDで利用出来るサービスを見つけ、それぞれの挙動に従い修正する事が出来ます。
RESTful
RESTのアーキテクチャスタイルを持っている事です。

と言った感じです。

一々用語が小難しく定義されていますが、

  1. Yadis ID(それがURLならYadis URLと言う)
  2. Yadis Resource Descriptor
  3. Yadis document
  4. Resource Discriptor URL

くらい頭に入っていれば大体理解出来ると思います。

次回予定

Yadis 1.0 (HTML) - The Yadis Protocolを扱う予定。(実は既に調べ終えてるんだけど)

その後にYadis 1.0 (HTML) - 7. The Yadis documentを取り扱って、OpenIDとの関わりを明らかにして行きたいと思います。

かしこ。