XRDS
Эта статья нуждается в дополнительных цитатах для проверки . ( апрель 2024 г. ) |
Последовательность дескрипторов расширяемых ресурсов ( XRDS на основе XML ) — это формат файла , который предоставляет список служб .
Фон
[ редактировать ]Формат XML, используемый XRDS, был первоначально разработан в 2004 году Техническим комитетом OASIS XRI ( расширяемый идентификатор ресурса ) в качестве формата разрешения для XRI. Аббревиатура XRDS была придумана в ходе последующих обсуждений между членами XRI TC и разработчиками OpenID на первом семинаре по интернет-идентификации, проходившем в Беркли, Калифорния, в октябре 2005 года.
Протокол обнаружения документа XRDS по URL-адресу был формализован как спецификация Yadis , опубликованная Yadis.org в марте 2006 года. Yadis стал форматом обнаружения служб для OpenID 1.1.
Общая служба обнаружения как для URL-адресов, так и для XRI оказалась настолько полезной, что в ноябре 2007 года в спецификацию XRI Резолюции 2.0 официально был добавлен метод обнаружения XRDS на основе URL-адресов (раздел 6). [ 1 ] Этот формат и протокол обнаружения впоследствии стали частью OpenID Authentication 2.0. [ 2 ]
XRDS простой
[ редактировать ]В начале 2008 года работа Эрана Хаммер-Лахава по обнаружению OAuth привела к разработке XRDS Simple, профиля XRDS, который ограничивает его самыми базовыми элементами и вводит некоторые расширения для поддержки обнаружения OAuth и других протоколов, использующих определенные методы HTTP . В конце 2008 года XRDS Simple был отменен и снова включен в основную спецификацию XRDS, в результате чего появился новый формат XRD 1.0.
Пример использования
[ редактировать ]Помимо разрешения XRI , примеры типичного использования XRDS включают:
- Аутентификация OpenID для обнаружения и описания возможностей поставщиков OpenID.
- Обнаружение OAuth для определения конечных точек и возможностей службы OAuth.
- Проект Хиггинса по обнаружению поставщиков контекста Хиггинса.
- Службы адресации цифровых идентификационных данных XDI.org I-name и I-number для обобщенного обнаружения служб цифровых удостоверений.
- Протокол обмена данными XDI для обнаружения конечных точек и возможностей службы XDI.
Пример документа XRDS
[ редактировать ]Ниже приведен пример документа XRDS для вымышленного XRI i-name =example . Этот документ обычно запрашивается с веб-сервера через HTTP или HTTPS с использованием типа контента application/xrds+xml . Обратите внимание, что элемент внешнего контейнера <XRDS> служит контейнером для одного или нескольких элементов <XRD> (расширяемый дескриптор ресурса). Большинство простых документов XRDS содержат только один XRD. Другие службы, такие как разрешение XRI, могут создавать последовательность XRD в одном документе XRDS, чтобы отразить цепочку метаданных о связанных ресурсах.
<?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>
<!-- synonym section -->
<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>
<!-- service section -->
<Service>
<!-- XRI resolution service -->
<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 login service -->
<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 login service -->
<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>
<!-- untyped service for access to files of media type 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>
Синонимы
[ редактировать ]Документы XRDS могут утверждать ноль или более синонимов ресурса. В этом контексте синоним — это другой идентификатор ( URI или XRI ), который идентифицирует тот же целевой ресурс. Например, приведенный выше пример документа XRDS утверждает четыре синонима:
- Местный синоним !4C72.6C81.D78F.90B2 . Это относительный синоним XRI, назначенный поставщиком этого документа XRDS.
- Эквивалентный URL-адрес http://example.com/example-user с приоритетом 10 (1 — наивысший приоритет).
- Эквивалентный URL-адрес http://example.net/blog с приоритетом 15 (более низкий приоритет, чем у другого эквивалентного URL-адреса, указанного выше).
- Канонический идентификатор xri://=!4C72.6C81.D78F.90B2 . Это абсолютный i-номер XRI для целевого ресурса — постоянный идентификатор, который никогда не будет переназначен (функциональный эквивалент универсального имени ресурса ).
Полную информацию о поддержке синонимов XRDS см. в резолюции XRI 2.0, раздел 5.
Конечные точки службы (SEP)
[ редактировать ]Другая основная цель документов XRDS — подтвердить услуги, связанные с ресурсом, называемые конечными точками службы или SEP . Например, приведенный выше пример документа XRDS утверждает четыре конечные точки службы для представленного ресурса:
- Служба разрешения XRI (тип xri://$res*auth*($v*2.0)).
- Служба аутентификации OpenID 2.0 (тип http://openid.net/signon/2.0).
- Служба аутентификации OpenID 1.0 (тип http://openid.net/server/1.0).
- Нетипизированный сервис для запроса ресурсов с медиа-типом image/jpeg.
Полную информацию о конечных точках службы XRDS см. в резолюции XRI 2.0, разделы 4.2 и 13.
Типы услуг
[ редактировать ]В документах XRDS служба идентифицируется с помощью URI или XRI . Ниже приведены списки известных типов услуг. [ 3 ]
разрешение XRI
[ редактировать ]Общее имя | URI или XRI | Источник | Учредил |
---|---|---|---|
Резолюция органа | xri://$res*auth*($v*2.0)
|
Резолюция XRI 2.0 | март 2005 г. |
Разрешение прокси | xri://$res*proxy*($v*2.0)
|
Резолюция XRI 2.0 | март 2005 г. |
OpenID
[ редактировать ]Общее имя | URI или XRI | Источник | Учредил |
---|---|---|---|
ОпенИД 1.0 | http://openid.net/server/1.0 | Аутентификация OpenID 2.0, раздел 14.2.1 | июнь 2005 г. |
ОпенИД 1.1 | http://openid.net/server/1.1 | Аутентификация OpenID 2.0, раздел 14.2.1 | май 2006 г. |
OpenID 2.0 – стандартный вход | http://specs.openid.net/auth/2.0/signon | OpenID Аутентификация 2.0, раздел 7.3.2.1.2 | декабрь 2007 г. |
OpenID 2.0 – вход по идентификатору OP | http://specs.openid.net/auth/2.0/server | Аутентификация OpenID 2.0, раздел 7.3.2.1.1 | декабрь 2007 г. |
Обмен атрибутами OpenID 1.0 | http://openid.net/srv/ax/1.0 | Обмен атрибутами OpenID 1.0, раздел 2 | декабрь 2007 г. |
Открытие OAuth
[ редактировать ]Общее имя | URI или XRI | Источник | Учредил |
---|---|---|---|
Обнаружение OAuth | http://oauth.net/discovery/1.0 | Проект открытия OAuth 2 | март 2008 г. |
Лицензирование
[ редактировать ]XRDS — это открытая общедоступная OASIS спецификация , не требующая лицензионных отчислений. Технический комитет OASIS XRI работает с момента своего создания в 2003 году в соответствии с политикой безвозмездного лицензирования, как указано в его уставе и на странице прав интеллектуальной собственности.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Резолюция XRI 2.0» . docs.oasis-open.org . Проверено 23 февраля 2023 г.
- ^ «Окончание: Аутентификация OpenID 2.0 — Финал» . openid.net . Проверено 23 февраля 2023 г.
- ^ «Анонсируем xrdstype.net» . Гейб Вахоб . Проверено 23 февраля 2023 г.