В этой статье не процитировать какие - либо источники . ( ноябрь 2013 г. ) ( Узнайте, как и когда удалить этот шаблон сообщения ) |
Yadis - это протокол связи для обнаружения таких сервисов, как OpenID , OAuth и XDI, подключенных к Yadis ID. Несмотря на то , что Yadis предназначен для обнаружения сервисов цифровой идентификации , ими не ограничивается. Другие услуги могут быть легко включены.
Идентификатор Yadis может быть либо традиционным URL-адресом, либо более новым i-именем XRI , где i-имя должно преобразовываться в URL-адрес. Так называемый URL-адрес Yadis либо равен идентификатору Yadis (если это URL-адрес), либо разрешенному URL-адресу i-name XRI.
Кроме того, Yadis указывает, как использовать URL-адрес Yadis для получения дескриптора службы, называемого дескриптором ресурса Yadis . Этот дескриптор следует формату XRDS и подключает несколько служб, таких как аутентификация или авторизация, к URL-адресу Yadis. Каждое описание услуги может иметь дополнительные параметры.
Модульная архитектура [ править ]
Yadis следует парадигме REST- полных, «слабо связанных мелких частей», которая оказалась успешной при разработке Интернета.
Основное предположение состоит в том, что к идентификаторам можно обращаться с помощью URL-адресов или других идентификаторов (таких как i- name XRI ), которые могут быть преобразованы в URL-адреса. Затем Yadis связывает документ XRDS (файл возможностей на основе XML) с каждым URL-адресом, который выражает связанные возможности или услуги.
Владелец идентификатора Yadis может выбрать, какие услуги он хочет использовать в своем документе XRDS . После получения этого документа полагающаяся сторона, такая как веб-сайт, принимающий идентификаторы Yadis, может выбрать соответствующие службы документа XRDS, например протокол, который будет использоваться для аутентификации. Это может позволить существующим веб-сайтам, таким как блоги, легко реализовать базовые функции Yadis (например, перенаправлять пользователей, которые заходят в блог, на соответствующую информацию о человеке, которому принадлежит блог), а также позволяет создавать более продвинутые приложения (для пример, позволяющий отправлять сложные запросы информации о владельце сайта непосредственно на сайт Yadis).
Обнаружение дескриптора ресурса Yadis [ править ]
Документ о возможностях, связанный с URL-адресом удостоверения, находится либо:
- Следуя за настраиваемым заголовком ответа HTTP с именем
X-XRDS-Location
, - Эквивалентной записью в разделе HTML HEAD называется
<meta http-equiv="X-XRDS-Location" content="http://example.com/yadis.xml">
, или - Запрашивая специальный тип mime, вызываемый
application/xrds+xml
при выполнении HTTP GET для URL-адреса удостоверения.
Разработчики могут выбрать, какую из альтернатив реализовать, в зависимости от таких факторов, как то, могут ли они запускать программное обеспечение по URL-адресу идентификации или нет.
Документы XRDS [ править ]
Вот пример документа о возможностях 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> <Service priority = "50" > <Type> http://openid.net/signon/1.0 </Type> <URI> http://www.myopenid.com/server </URI> <openid: Delegate> http://smoker.myopenid.com/ </ openid: Delegate> </Service> <Service priority = "10" > <Тип > http: // openid.net / signon / 1.0 </Type> <URI>http://www.livejournal.com/openid/server.bml </URI> <openid: Delegate> http://www.livejournal.com/users/frank/ </ openid: Delegate> </Service> <Service priority = "20" > <Type> http://lid.netmesh.org/sso/2.0 </Type> <URI> http://mylid.net/liddemouser </URI> </Service> <Service> < Тип> http://lid.netmesh.org/sso/1.0 </Type> </Service> </XRD> </ xrds: XRDS>
Если этот документ XRDS был возвращен с использованием одного из перечисленных механизмов для URL-адреса, он будет содержать следующую информацию:
- URL-адрес является URL-адресом идентичности Yadis.
- Этот URL-адрес поддерживает протокол OpenID через два сервера и двух делегатов.
- Этот URL-адрес поддерживает версию 1.0 и версию 2.0 протокола LID с делегатом.
- Владелец этого идентификационного URL предпочитает войти в систему, используя свою учетную запись LiveJournal и протокол OpenID (приоритет 10). Если это невозможно (например, потому что полагающаяся сторона не поддерживает OpenID или потому что сервер LiveJournal недоступен), владелец хотел бы использовать URL-адрес LID http://mylid.net/liddemouser (приоритет 20), за которым следует сервис MyOpenID (приоритет 50).
LID, OpenID и сообщество разработчиков [ править ]
Yadis был инициирован разработчиками протоколов Light-weight Identity (LID) и OpenID . Затем к этому сотрудничеству присоединились члены Технического комитета OASIS XRI , особенно те, кто работал над i-name .
Тем не менее, Yadis - открытая инициатива, поэтому другие разработчики начнут использовать облегченное описание возможностей XRDS , что сделает возможным подход «смешивания и сопоставления» к созданию приложений с поддержкой Yadis, позволяя разработчикам приложений выбирать свой собственный баланс между простотой реализации с одной стороны. , а с другой - ряд функций.
См. Также [ править ]
- XRDS
- Liberty Alliance
- Инфокарта
- OpenID
- Легкая идентификация (LID)
- я-имя
- XRI
Внешние ссылки [ править ]
- Документация Yadis