Yadis
Encyclopedia
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 ID can either be a traditional URL
or a newer XRI i-name
, where the i-name must resolve to a URL. The so called Yadis URL either equals the Yadis ID (if this is a URL) or the resolved URL of the XRI i-name.
Furthermore, Yadis specifies how to use the Yadis URL to retrieve a service descriptor called Yadis Resource Descriptor. This descriptor follows the XRDS
format and connects several services, like authentication or authorization to the Yadis URL. Each service description can have further parameters.
-ful, "small pieces loosely joined" paradigm that has proven to be successful in the development of the web.
The basic assumption is that identities can be addressed with URLs or with other identifiers (such as XRI i-name
s) that can be resolved to URLs. Yadis then associates an XRDS
document (an XML-based capability file) with each URL that expresses the associated capabilities or services.
The owner of a Yadis identifier can choose which services he wishes to use in his XRDS
document. After retrieving this document, a relying party such as a website accepting Yadis identifiers can select an appropriate services of the XRDS document, e.g. a protocol to use for authentication. This can allow existing web sites, like blogs, to easily implement basic Yadis functionality (for instance, redirecting users who arrive at a blog to relevant information about the person the blog belongs to) while also making it possible to build more advanced applications (for example, allowing complex queries of a site-owner's information to be submitted directly to the Yadis site).
Developers can choose which of the alternatives to implement, based on factors such as whether they can run software at the identity URL or not.
capability document:
If this XRDS
document was returned, using one of the listed mechanisms, for a URL, it would express the following information:
and OpenID
protocols. This collaboration was then joined by members of the OASIS
XRI Technical Committee, particularly those working on i-name
s.
However, Yadis is an open initiative, so other developers will start using XRDS
lightweight capabilities description, making possible a "mix and match" approach to building Yadis-enabled applications, enabling application developers to choose their own balance between ease of implementation on one hand, and range of features on the other.
Communications protocol
A communications protocol is a system of digital message formats and rules for exchanging those messages in or between computing systems and in telecommunications...
for discovery of services such as 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...
, 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...
, and XDI
XDI
XDI is a generalized, extensible service for sharing, linking, and synchronizing structured data over the Internet and other data networks using XRI-addressable RDF graphs...
connected to a Yadis ID. While intended to discover digital identity
Digital identity
Digital identity is the aspect of digital technology that is concerned with the mediation of people's experience of their own identity and the identity of other people and things...
services, Yadis is not restricted to those. Other services can easily be included.
A Yadis ID can either be a traditional URL
Uniform Resource Locator
In computing, a uniform resource locator or universal resource locator is a specific character string that constitutes a reference to an Internet resource....
or a newer XRI i-name
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. 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...
, where the i-name must resolve to a URL. The so called Yadis URL either equals the Yadis ID (if this is a URL) or the resolved URL of the XRI i-name.
Furthermore, Yadis specifies how to use the Yadis URL to retrieve a service descriptor called Yadis Resource Descriptor. This descriptor follows the XRDS
XRDS
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...
format and connects several services, like authentication or authorization to the Yadis URL. Each service description can have further parameters.
Modular architecture
Yadis follows the RESTRepresentational State Transfer
Representational state transfer is a style of software architecture for distributed hypermedia systems such as the World Wide Web. The term representational state transfer was introduced and defined in 2000 by Roy Fielding in his doctoral dissertation...
-ful, "small pieces loosely joined" paradigm that has proven to be successful in the development of the web.
The basic assumption is that identities can be addressed with URLs or with other identifiers (such as XRI i-name
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. 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) that can be resolved to URLs. Yadis then associates an XRDS
XRDS
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...
document (an XML-based capability file) with each URL that expresses the associated capabilities or services.
The owner of a Yadis identifier can choose which services he wishes to use in his XRDS
XRDS
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...
document. After retrieving this document, a relying party such as a website accepting Yadis identifiers can select an appropriate services of the XRDS document, e.g. a protocol to use for authentication. This can allow existing web sites, like blogs, to easily implement basic Yadis functionality (for instance, redirecting users who arrive at a blog to relevant information about the person the blog belongs to) while also making it possible to build more advanced applications (for example, allowing complex queries of a site-owner's information to be submitted directly to the Yadis site).
Discovery of the Yadis Resource Descriptor
The capability document associated with an identity URL is found either:- By following a custom HTTP response header called
X-XRDS-Location
, - By an equivalent entry in the HTML HEAD section, called
, or<meta http-equiv="X-XRDS-Location" content="http://example.com/yadis.xml"> - By requesting a special mime type called
application/xrds+xml
when performing an HTTP GET on the identity URL.
Developers can choose which of the alternatives to implement, based on factors such as whether they can run software at the identity URL or not.
XRDS documents
Here is an example XRDSXRDS
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...
capability document:
If this XRDS
XRDS
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...
document was returned, using one of the listed mechanisms, for a URL, it would express the following information:
- The URL is a Yadis identity URL.
- This URL supports the 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...
protocol, through two servers and two delegates. - This URL supports version 1.0 and version 2.0 of the LIDLight-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...
protocol, with a delegate. - The owner of this identity URL prefers to sign-on using their LiveJournal account and the 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...
protocol (priority 10). If that is not possible (e.g. because a relying party does not support OpenID, or because the LiveJournal server is unavailable), the owner would like to use the LIDLight-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...
URLhttp://mylid.net/liddemouser (priority 20), followed by the MyOpenID service (priority 50).
LID, OpenID and the developer community
Yadis was initiated by developers of the Light-Weight Identity (LID)Light-Weight Identity
LID 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...
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...
protocols. This collaboration was then joined by members of the OASIS
OASIS (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 Technical Committee, particularly those working on i-name
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. 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.
However, Yadis is an open initiative, so other developers will start using XRDS
XRDS
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...
lightweight capabilities description, making possible a "mix and match" approach to building Yadis-enabled applications, enabling application developers to choose their own balance between ease of implementation on one hand, and range of features on the other.
See also
- XRDSXRDSXRDS 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...
- Liberty AllianceLiberty AllianceThe Liberty Alliance was formed in September 2001 by approximately 30 organizations to establish open standards, guidelines and best practices for identity management...
- InfoCard
- 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...
- 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...
(LID) - 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...
- XRI