XRDS

XRDS

XRDS (Kurzform für: eXtensible Resource Descriptor Sequence) ist ein XML-Format, um Metadaten über eine Web Resource zu beschreiben und abrufbar zu machen (engl. „Discovery") – insbesondere Dienste, die unter dieser Ressource verfügbar sind (engl. „Service discovery"). Beispielsweise kann ein OpenID-Anbieter XRDS-Dokumente benutzen, um die Adresse und die Fähigkeiten seines OpenID-Dienstes zu beschreiben.

Inhaltsverzeichnis

Hintergrund

Das von XRDS verwendete XML-Format wurde ursprünglich im Jahr 2004 vom OASIS für XRI (Extensible Resource Identifier) als Beschreibungsformat für XRIs entwickelt. Die Abkürzung XRDS wurde während darauf folgender Diskussionen zwischen Mitgliedern des XRI Technischen Komitees und OpenID-Entwicklern beim ersten Internet Identity Workshop in Berkeley (Kalifornien, USA) im Oktober 2005 geprägt.

Ein Protokoll, mit dem XRDS-Dokumente von einer URL abgerufen werden können, wurde Yadis genannt und im März 2006 unter Yadis.org veröffentlicht. Yadis wurde das Beschreibungsformat für OpenID 1.1.

Ein solches Beschreibungsformat stellte sich in weiterer Folge als so nützlich für URLs und XRIs heraus, dass im November 2007 die URL-basierte Verwendung von XRDS formell zur XRI Resolution 2.0 Spezifikation hinzugefügt wurde. Dieses Format und Protokoll wurde dann Teil der OpenID Authentication 2.0-Spezifikation.

XRDS Simple

Zu Beginn des Jahres 2008 führten die Arbeiten am OAuth-Protokoll von Eran Hammer-Lahav zur Entwicklung von XRDS Simple, welches ein spezielles Profil von XRDS ist, das XRDS auf die wesentlichsten Elemente beschränkt und somit einfacher anwendbar macht. Des Weiteren wurden einige Erweiterungen definiert, um OAuth und andere HTTP-basierte Protokolle zu unterstützen. Ende 2008 wurden weitere Arbeiten an XRDS Simple eingestellt. Die bis dahin erzielten Ergebnisse wurden in das XRDS Projekt zurückgeführt und fließen in die XRD 1.0 Spezifikation ein.

Anwendungen

Neben der Hauptanwendung XRI wird XRDS unter anderem in folgenden Bereichen benutzt:

  • OpenID: Beschreibung von Authentifizierungsdiensten sowie von Erweiterungen mancher Anbieter.
  • OAuth: Beschreibung von OAuth-Diensten und Fähigkeiten.
  • Higgins Projekt: Beschreibung von Higgins „Context Providers".
  • XDI.org: Für I-name und I-number Adressen und darauf basierende Identititätsdienste.
  • XDI Protokoll: Beschreibung von XDI-Diensten und Fähigkeiten.

Beispiel

Das folgende Beispiel zeigt ein XRDS-Dokument für den XRI i-name =example. Wie darin zu erkennen ist, dient ein äußeres <XRDS> Element als Container für ein oder mehrere <XRD> (eXtensible Resource Descriptor) Elemente. Viele XRDS-Dokumente beinhalten nur ein einziges XRD-Element. Manche Anwendungen wie z. B. XRI Auflösung können zu mehreren <XRD> Elementen in einem <XRDS> Element führen, um eine Metadata-Sequenz mehrerer zusammen hängender Ressourcen zu beschreiben.

<?xml version="1.0" encoding="UTF-8"?>
<xrds:XRDS xmlns:xrds="xri://$xrds" xmlns="xri://$xrd*($v*2.0)"
xmlns:openid="http://openid.net/xmlns/1.0">
  <XRD ref="xri://=example">
    <Query>*example</Query>
    <Status ceid="off" cid="verified" code="100"/>
    <Expires>2008-05-05T00:15:00.000Z</Expires>
    <ProviderID>xri://=</ProviderID>
    <!-- Synonyme -->
    <LocalID priority="10">!4C72.6C81.D78F.90B2</LocalID>
    <EquivID priority="10">http://example.com/example-user</EquivID>
    <EquivID priority="15">http://example.net/blog</EquivID>
    <CanonicalID>xri://=!4C72.6C81.D78F.90B2</CanonicalID>
    <!-- Dienste -->
    <Service>
      <!-- XRI Auflösungsdienst -->
      <ProviderID>xri://=!F83.62B1.44F.2813</ProviderID>
      <Type>xri://$res*auth*($v*2.0)</Type>
      <MediaType>application/xrds+xml</MediaType>
      <URI priority=”10”>http://resolve.example.com</URI>
      <URI priority=”15”>http://resolve2.example.com</URI>
      <URI>https://resolve.example.com</URI>
    </Service>
    <!-- OpenID 2.0 Authentifizierungsdienst -->
    <Service priority="10">
      <Type>http://specs.openid.net/auth/2.0/signon</Type>
      <URI>http://www.myopenid.com/server</URI>
      <LocalID>http://example.myopenid.com/</LocalID>
    </Service>
    <!-- OpenID 1.0 Authentifizierungsdienst -->
    <Service priority="20">
      <Type>http://openid.net/server/1.0</Type>
      <URI>http://www.livejournal.com/openid/server.bml</URI>
      <openid:Delegate>http://www.livejournal.com/users/example/</openid:Delegate>
    </Service>
    <!-- Dienst für Dateien des Typs JPEG -->
    <Service priority="10">
      <Type match="null" />
      <Path select="true">/media/pictures</Path>
      <MediaType select="true">image/jpeg</MediaType>
      <URI append="path" >http://pictures.example.com</URI>
    </Service>
  </XRD>
</xrds:XRDS>

Synonyme

XRDS-Dokumente unterstützen die Beschreibung von Synonymen einer Ressource. In diesem Zusammenhang kann ein Synonym ein URI oder XRI sein, welches die gleiche Ressource bezeichnet. Beispielsweise beschreibt das obige XRDS-Dokument die folgenden Synonyme[1]:

  1. Das lokale Synonym !4C72.6C81.D78F.90B2. Dies ist ein XRI Synonym welches als relativ zum Anbieter des XRDS Dokuments zu verstehen ist.
  2. Das URL Synonym http://example.com/example-user mit Priorität 10 (1 ist die höchste Priorität).
  3. Das URL Synonym http://example.net/blog mit Priorität 15 (niedriger als das obige URL Synonym).
  4. Das kanonische Synonym xri://=!4C72.6C81.D78F.90B2. Das ist eine absolute XRI i-number für die Resource -- ein dauerhafter Bezeichner, der nicht wieder einer anderen Resource zugewiesen werden kann (ähnlich eines URNs).

Dienste

Der wichtigste Teil des XRDS-Dokuments beinhaltet die Beschreibung von Diensten (engl. „Service Endpoints"), die mit der Ressource verbunden sind. Beispielsweise beschreibt das obige XRDS-Dokument die folgenden Dienste[2]:

  1. Ein XRI Auflösungsdienst (Diensttyp xri://$res*auth*($v*2.0)).
  2. Ein OpenID 2.0 Authentifizierungsdienst (Diensttyp http://openid.net/signon/2.0).
  3. Ein OpenID 1.0 Authentifizierungsdienst (Diensttyp http://openid.net/server/1.0).
  4. Ein Dienst für Dateien des Typs JPEG Medientyp image/jpeg.

Diensttypen

In XRDS wird der Typ eines Dienstes mittels eines URI oder XRI beschrieben. Die folgende Liste zeigt einige bekannt Diensttypen. Unter http://xrdstype.net läuft seit Mai 2008 ein Projekt, um solche Diensttypen zu katalogisieren.

XRI Auflösung

Name URI oder XRI Herkunft Seit
Direkte Auflösung xri://$res*auth*($v*2.0) XRI Resolution 2.0 März 2005
Proxy Auflösung xri://$res*proxy*($v*2.0) XRI Resolution 2.0 März 2005

OpenID

Name URI oder XRI Herkunft Seit
OpenID 1.0 http://openid.net/server/1.0 OpenID Authentication 2.0, Section 14.2.1 Juni 2005
OpenID 1.1 http://openid.net/server/1.1 OpenID Authentication 2.0 , Section 14.2.1 Mai 2006
OpenID 2.0 – Standard Login http://specs.openid.net/auth/2.0/signon OpenID Authentication 2.0, Section 7.3.2.1.2 December 2007
OpenID 2.0 – OP Identifier Login http://specs.openid.net/auth/2.0/server OpenID Authentication 2.0, Section 7.3.2.1.1 Dezember 2007
OpenID Attribute Exchange 1.0 http://openid.net/srv/ax/1.0 OpenID Attribute Exchange 1.0, Section 2 Dezember 2007

OAuth

Name URI oder XRI Herkunft Seit
OAuth Discovery http://oauth.net/discovery/1.0 OAuth Discovery Draft 2 März 2008

XDI.org I-Services

I-Services sind mit XRIs verbundene Identitätsdienste.[3]

Name URI oder XRI Herkunft Seit
Kontaktseite (engl. „Contact Service") xri://+i-service*(+contact)*($v*1.0) XDI.org Contact Service 1.0 August 2006
Weiterleitung (engl. „Forwarding Service") xri://+i-service*(+forwarding)*($v*1.0) XDI.org Forwarding Service 1.0 August 2006

Lizenz

XRDS ist eine freie Open-Source-Spezifikation von OASIS. Das OASIS für XRI hat von Beginn seiner Arbeit an (im Jahr 2003) unter einer freien Lizenz gearbeitet, wie unter der XRI Charter und nachgelesen werden kann.

Siehe auch

Einzelnachweise

  1. XRDS-Synonyme werden ausführlich in XRI Resolution 2.0 (Abschnitt 5) beschrieben.
  2. Beschreibungen von Diensten werden ausführlich in XRI Resolution 2.0 (Abschnitte 4.2 und 13) beschrieben
  3. I-Services wiki

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • XRDS — (eXtensible Resource Descriptor Sequence) is an XML format for discovery of metadata about a resource – in particular discovery of services associated with the resource, a process known as service discovery. For example, a website offering OpenID …   Wikipedia

  • XRDS — Demande de traduction XRDS → XRDS (+) …   Wikipédia en Français

  • Xrds — abbr. cross roads …   Dictionary of English abbreviation

  • Yadis — Yadis  сетевой протокол для обнаружения сервисов OpenID, OAuth и XDI с использованием Yadis ID. Изначально предназначенный для обнаружения сервисов цифровой идентификации, Yadis легко может быть использован и для других сервисов. Yadis ID… …   Википедия

  • Extensible Resource Identifier — (abbreviated XRI) is a scheme and resolution protocol for abstract identifiers compatible with Uniform Resource Identifiers and Internationalized Resource Identifiers, developed by the [http://www.oasis open.org/committees/xri XRI Technical… …   Wikipedia

  • Yadis — Unter Yadis versteht man ein Protokoll und ein Datenformat, mit denen Informationen über unterstützte Dienste einer HTTP URL im Konzept der URL basierten Identität beschrieben und abgerufen werden können. Inhaltsverzeichnis 1 Hintergrund 2… …   Deutsch Wikipedia

  • Yadis — is a communications protocol for discovery of services such as OpenID, OAuth, and XDI connected to a Yadis ID. While intended to discover digital identity services, Yadis is not restricted to those. Other services can easily be included.A Yadis… …   Wikipedia

  • Yadis — Demande de traduction Yadis → Yadis (+) …   Wikipédia en Français

  • I-name — I names are one form of an XRI an OASIS open standard for digital identifiers designed for sharing resources and data across domains and applications. [ [http://www.oasis open.org/committees/download.php/15377 XRI Syntax 2.0 Committee… …   Wikipedia

  • OpenID — The OpenID logo OpenID is an open standard that describes how users can be authenticated in a decentralized manner, eliminating the need for services to provide their own ad hoc systems and allowing users to consolidate their digital… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”