XRDS
Encyclopedia
XRDS 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
login can resolve a user's OpenID identifier to an XRDS document to discover the location of the user's OpenID service provider.
XRI (Extensible Resource Identifier) Technical Committee as the resolution format for XRIs. The acronym XRDS was coined during subsequent discussions between XRI TC members and OpenID
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 the Yadis
specification published by Yadis.org in March 2006. Yadis became the service discovery format for OpenID
1.1.
A common discovery service for both URLs and XRIs proved so useful that in November 2007 the 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 OpenID Authentication 2.0.
discovery by Eran Hammer-Lahav led to the development of XRDS Simple, a profile of XRDS that restricts it to the most basic elements and introduces some extensions to support OAuth
discovery and other protocols that use specific HTTP methods. In late 2008, XRDS-Simple has been canceled and merged back into the main XRDS specification resulting in the upcoming XRD 1.0 format.
=example. This document would typically be requested from a Web server via HTTP or HTTPS
using the content type application/xrds+xml. Note that the outer container element 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.
s for a resource. In this context, a synonym is another identifier (a URI
or XRI) that identifies the same target resource. For instance, the example XRDS document above asserts four synonyms:
For full details of XRDS synonym support, see XRI Resolution 2.0, Section 5.
For full details of XRDS service endpoints, see XRI Resolution 2.0, Sections 4.2 and 13.
or XRI. Following are listings of well-known service types. See also XRDS Type, an open community effort began in May 2008 to provide a catalog of XRDS service types.
specification. The OASIS XRI Technical Committee has operated since its inception in 2003 under a royalty-free licensing policy as stated in its charter and IPR page
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
format for discovery of metadata
Metadata
The term metadata is an ambiguous term which is used for two fundamentally different concepts . Although the expression "data about data" is often used, it does not apply to both in the same way. Structural metadata, the design and specification of data structures, cannot be about data, because at...
about a resource
Resource (Web)
The concept of resource is primitive in the Web architecture, and is used in the definition of its fundamental elements. The term was first introduced to refer to targets of Uniform Resource Locators , but its definition has been further extended to include the referent of any Uniform Resource...
– in particular discovery of services associated with the resource, a process known as service discovery
Service discovery
Service discovery protocols are network protocols which allow automatic detection of devices and services offered by these devices on a computer network....
. For example, a website offering OpenID
OpenID
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 identities...
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 OASISOASIS (organization)
The Organization for the Advancement of Structured Information Standards is a global consortium that drives the development, convergence and adoption of e-business and web service standards...
XRI (Extensible Resource Identifier) Technical Committee as the resolution format for XRIs. The acronym XRDS was coined during subsequent discussions between XRI TC members and OpenID
OpenID
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 identities...
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 the Yadis
Yadis
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....
specification published by Yadis.org in March 2006. Yadis became the service discovery format for OpenID
OpenID
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 identities...
1.1.
A common discovery service for both URLs and XRIs proved so useful that in November 2007 the 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 OpenID Authentication 2.0.
XRDS Simple
In early 2008, work on OAuthOAuth
OAuth is an open standard for authorization. It allows users to share their private resources stored on one site with another site without having to hand out their credentials, typically username and password.OAuth allows users to hand out tokens instead of credentials to their data hosted by a...
discovery by Eran Hammer-Lahav led to the development of XRDS Simple, a profile of XRDS that restricts it to the most basic elements and introduces some extensions to support OAuth
OAuth
OAuth is an open standard for authorization. It allows users to share their private resources stored on one site with another site without having to hand out their credentials, typically username and password.OAuth allows users to hand out tokens instead of credentials to their data hosted by a...
discovery and other protocols that use specific HTTP methods. In late 2008, XRDS-Simple has been canceled and merged back into the main XRDS specification resulting in the upcoming XRD 1.0 format.
Example Uses
Besides XRI resolution, examples of typical XRDS usage include:- OpenIDOpenIDOpenID 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 identities...
authentication for discovery and capabilities description of OpenID providers. - OAuthOAuthOAuth is an open standard for authorization. It allows users to share their private resources stored on one site with another site without having to hand out their credentials, typically username and password.OAuth allows users to hand out tokens instead of credentials to their data hosted by a...
discovery for locating OAuth service endpoints and capabilities. - The Higgins Project for discovery of Higgins context providers.
- XDI.org I-nameI-nameI-names are one form of an XRI — an OASIS open standard for digital identifiers designed for sharing resources and data across domains and applications. I-names are human readable XRIs intended to be as easy as possible for people to remember and use. For example, a personal i-name could be =Mary...
and I-numberI-numberi-numbers are a type of Internet identifier designed to solve the problem of how any resource can have a persistent identity that never changes even when the resource moves or changes its human-friendly name...
digital identity addressing services for generalized digital identity service discovery. - The XDIXDIXDI is a generalized, extensible service for sharing, linking, and synchronizing structured data over the Internet and other data networks using XRI-addressable RDF graphs...
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-nameI-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. I-names are human readable XRIs intended to be as easy as possible for people to remember and use. For example, a personal i-name could be =Mary...
=example. This document would typically be requested from a Web server via HTTP or HTTPS
Https
Hypertext Transfer Protocol Secure is a combination of the Hypertext Transfer Protocol with SSL/TLS protocol to provide encrypted communication and secure identification of a network web server...
using the content type application/xrds+xml. Note that the outer container
Synonyms
XRDS documents can assert zero or more synonymSynonym
Synonyms are different words with almost identical or similar meanings. Words that are synonyms are said to be synonymous, and the state of being a synonym is called synonymy. The word comes from Ancient Greek syn and onoma . The words car and automobile are synonyms...
s for a resource. In this context, a synonym is another identifier (a URI
Úri
Úriis a village and commune in the comitatus of Pest in Hungary....
or XRI) 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 equivalent URL
http://example.com/example-user with a priority of 10 (1 is the highest priority). - The equivalent URL
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 absolute XRI i-numberI-numberi-numbers are a type of Internet identifier designed to solve the problem of how any resource can have a persistent identity that never changes even when the resource moves or changes its human-friendly name...
for the target resource -- a persistent identifier that will never be reassigned (the functional equivalent of a Uniform Resource NameUniform Resource NameA uniform resource name is a uniform resource identifier that uses the urn scheme and does not imply availability of the identified resource. Both URNs and URLs are URIs, and a particular URI may be a name and a locator at the same time.The functional requirements for uniform resource names are...
).
For full details of XRDS synonym support, see 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 (type
xri://$res*auth*($v*2.0) ). - An OpenIDOpenIDOpenID 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 identities...
2.0 authentication service (typehttp://openid.net/signon/2.0 ). - An OpenIDOpenIDOpenID 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 identities...
1.0 authentication service (typehttp://openid.net/server/1.0 ). - An untyped service for requesting resources with a media type
image/jpeg .
For full details of XRDS service endpoints, see XRI Resolution 2.0, Sections 4.2 and 13.
Service Types
In XRDS documents, a service is identified using a URIÚri
Úriis a village and commune in the comitatus of Pest in Hungary....
or XRI. Following are listings of well-known service types. See also XRDS Type, an open community effort began in May 2008 to provide a catalog of XRDS service types.
XRI Resolution
Common Name | URI or XRI | Source | Established |
---|---|---|---|
Authority Resolution | xri://$res*auth*($v*2.0) |
XRI Resolution 2.0 | March 2005 |
Proxy Resolution | xri://$res*proxy*($v*2.0) |
XRI Resolution 2.0 | March 2005 |
OpenID
Common Name | URI or XRI | Source | Established |
---|---|---|---|
OpenID 1.0 | http://openid.net/server/1.0 | OpenID Authentication 2.0, Section 14.2.1 | June 2005 |
OpenID 1.1 | http://openid.net/server/1.1 | OpenID Authentication 2.0 , Section 14.2.1 | May 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 | December 2007 |
OpenID Attribute Exchange 1.0 | http://openid.net/srv/ax/1.0 | OpenID Attribute Exchange 1.0, Section 2 | December 2007 |
OAuth Discovery
Common Name | URI or XRI | Source | Established |
---|---|---|---|
OAuth Discovery | http://oauth.net/discovery/1.0 | OAuth Discovery Draft 2 | March 2008 |
XDI.org I-Services
See the I-Services wiki.Common Name | URI or XRI | Source | Established |
---|---|---|---|
Contact Service | xri://+i-service*(+contact)*($v*1.0) |
XDI.org Contact Service 1.0 | August 2006 |
Forwarding Service | xri://+i-service*(+forwarding)*($v*1.0) |
XDI.org Forwarding Service 1.0 | August 2006 |
Licensing
XRDS is an open public royalty-free OASISOASIS (organization)
The Organization for the Advancement of Structured Information Standards is a global consortium that drives the development, convergence and adoption of e-business and web service standards...
specification. The OASIS XRI Technical Committee has operated since its inception in 2003 under a royalty-free licensing policy as stated in its charter and IPR page
See also
- OpenIDOpenIDOpenID 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 identities...
- Higgins project
- I-nameI-nameI-names are one form of an XRI — an OASIS open standard for digital identifiers designed for sharing resources and data across domains and applications. I-names are human readable XRIs intended to be as easy as possible for people to remember and use. For example, a personal i-name could be =Mary...
s - Light-Weight IdentityLight-Weight IdentityLID is a management system for online digital identities developed in part by . It was first published in early 2005, and is the original URL-based identity system, later followed by OpenID. LID uses URLs as a verification of the user's identity, and makes use of several open-source protocols...
- XRI
- XDIXDIXDI is a generalized, extensible service for sharing, linking, and synchronizing structured data over the Internet and other data networks using XRI-addressable RDF graphs...
- Social WebSocial WebThe social Web is a set of social relations that link people through the World Wide Web. The Social web encompasses how websites and software are designed and developed in order to support and foster social interaction. These online social interactions form the basis of much online activity...
- YadisYadisYadis 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....
External links
- OASIS XRI Technical Committee
- XRI Resolution 2.0 Specification – XRDS document format is specified in Section 4.
- OASIS XRI 2.0 FAQ
- XRDS Simple 1.0
- XRDS Type – an open community registry of XRDS service types.
- dev.xri.net – an open public wiki on XRI and XRDS open source projects
- Internet Identity Workshop One-Pager on XRI and XRDS