- XRDS
XRDS (eXtensible Resource Descriptor Sequence) is an
XML format for discovery ofmetadata about a resource – in particular discovery of services associated with the resource, a process known asservice discovery . For example, a website offeringOpenID login can resolve a user's OpenID identifier to an XRDS document to discover the location of the user's OpenID service provider.Background
The XML format used by XRDS was originally developed in 2004 by the OASIS XRI (Extensible Resource Identifier) [http://www.oasis-open.org/committees/xri/ Technical Committee] as the resolution format for
XRI s. The acronym XRDS was coined during subsequent discussions between XRI TC members andOpenID developers at first Internet Identity Workshop held in Berkeley, CA in October 2005.The protocol for discovering an XRDS document from a
URL was formalized as theYadis specification published by [http://yadis.org Yadis.org] in March 2006. Yadis became the service discovery format forOpenID 1.1.A common discovery service for both URLs and XRIs proved so useful that in November 2007 the [http://docs.oasis-open.org/xri/2.0/specs/xri-resolution-V2.0.html XRI Resolution 2.0] specification formally added the URL-based method of XRDS discovery (Section 6). This format and discovery protocol subsequently became part of [http://openid.net/specs/openid-authentication-2_0.html OpenID Authentication 2.0] .
XRDS Simple
In early 2008, work on
OAuth discovery by Eran Hammer-Lahav led to the development of [http://xrds-simple.net/core/1.0/ XRDS Simple] , a profile of XRDS that restricts it to the most basic elements and introduces some extensions to supportOAuth discovery and other protocols that use specificHTTP methods.Example Uses
Besides
XRI resolution, examples of typical XRDS usage include:*
OpenID authentication for discovery and capabilities description of OpenID providers.
*OAuth discovery for locating OAuth service endpoints and capabilities.
* The Higgins Project for discovery of Higgins context providers.
* [http://www.xdi.org XDI.org]I-name andI-number digital identity addressing services for generalized digital identity service discovery.
* TheXDI data sharing protocol for discovery of XDI service endpoints and capabilities.Example XRDS Document
Following is an example of an XRDS document for the fictional
XRI i-name =example. Note that the outer containerelement serves as a container for one or more (Extensible Resource Descriptor) elements. Most simple XRDS documents have only one XRD. Other services like XRI resolution may construct a sequence of XRDs within a single XRDS document to reflect a chain of metadata about linked resources.Synonyms
XRDS documents can assert zero or more
synonym s for a resource. In this context, a synonym is another identifier (aURI orXRI ) that identifies the same target resource. For instance, the example XRDS document above asserts four synonyms:# The local synonym !4C72.6C81.D78F.90B2. This is a relative
XRI synonym assigned by the provider of this XRDS document.
# The equivalentURL http://example.com/example-user with a priority of 10 (1 is the highest priority).
# The equivalentURL http://example.net/blog with a priority of 15 (a lower priority than the other equivalent URL above).
# The canonical identifier xri://=!4C72.6C81.D78F.90B2. This is an absoluteXRI i-number for the target resource -- a persistent identifier that will never be reassigned (the functional equivalent of aUniform Resource Name ).For full details of XRDS synonym support, see [http://docs.oasis-open.org/xri/2.0/specs/xri-resolution-V2.0.html XRI Resolution 2.0] , Section 5.
Service Endpoints (SEPs)
The other main purpose of XRDS documents is to assert the services associated with a resource, called "service endpoints" or "SEPs". For instance, the example XRDS document above asserts four service endpoints for the represented resource:
# An
XRI resolution service (typexri://$res*auth*($v*2.0) ).
# AnOpenID 2.0 authentication service (typehttp://openid.net/signon/2.0 ).
# AnOpenID 1.0 authentication service (typehttp://openid.net/server/1.0 ).
# An untyped service for requesting resources with a media typeimage/jpeg .For full details of XRDS service endpoints, see [http://docs.oasis-open.org/xri/2.0/specs/xri-resolution-V2.0.html XRI Resolution 2.0] , Sections 4.2 and 13.
Service Types
In XRDS documents, a service is identified using a
URI orXRI . Following are listings of well-known service types. See also [http://xrdstype.net XRDS Type] , an [http://blog.wachob.com/2008/05/announcing-xrds.html open community effort] began in May 2008 to provide a catalog of XRDS service types.XRI Resolution
XDI.org I-Services
See the [http://iss.xdi.org I-Services wiki] .
Licensing
XRDS is an open public royalty-free OASIS specification. The [http://www.oasis-open.org/committees/xri/ OASIS XRI Technical Committee] has operated since its inception in 2003 under a royalty-free licensing policy as stated in its [http://www.oasis-open.org/committees/xri/charter.php charter] and [http://www.oasis-open.org/committees/xri/ipr.php IPR page]
See also
*
OpenID
*Higgins project
*I-name s
*Light-Weight Identity
*XRI
*XDI
*Social Web
*Yadis External links
* [http://www.oasis-open.org/committees/xri OASIS XRI Technical Committee]
** [http://docs.oasis-open.org/xri/2.0/specs/xri-resolution-V2.0.html XRI Resolution 2.0 Specification] – XRDS document format is specified in Section 4.
** [http://www.oasis-open.org/committees/xri/faq.php OASIS XRI 2.0 FAQ]
* [http://xrds-simple.net/core/1.0/ XRDS Simple 1.0]
* [http://xrdstype.net XRDS Type] – an open community registry of XRDS service types.
* [http://dev.xri.net dev.xri.net] – an open public wiki on XRI and XRDS open source projects
* [http://iiw.idcommons.net/index.php/XRI Internet Identity Workshop One-Pager on XRI and XRDS]
Wikimedia Foundation. 2010.