Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску
Логотип Yadis

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-адресом удостоверения, находится либо:

  1. Следуя за настраиваемым заголовком ответа HTTP с именем X-XRDS-Location,
  2. Эквивалентной записью в разделе HTML HEAD называется
    <meta http-equiv="X-XRDS-Location" content="http://example.com/yadis.xml">, или
  3. Запрашивая специальный тип 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