Yadis
Yadis to protokół komunikacyjny do wykrywania usług, takich jak OpenID , OAuth i XDI połączonych z identyfikatorem Yadis. Chociaż Yadis ma na celu odkrywanie tożsamości cyfrowej , nie ogranicza się do nich. Inne usługi mogą być łatwo uwzględnione.
Identyfikator Yadis może być zarówno tradycyjnym adresem URL , jak i nowszym identyfikatorem XRI i-name , gdzie i-name musi odpowiadać adresowi URL. Tak zwany adres URL Yadis jest równy identyfikatorowi Yadis (jeśli jest to adres URL) lub rozwiązanemu adresowi URL i-nazwy XRI.
Ponadto Yadis określa sposób użycia adresu URL Yadis do pobrania deskryptora usługi o nazwie Yadis Resource Descriptor . Ten deskryptor jest zgodny z XRDS i łączy kilka usług, takich jak uwierzytelnianie lub autoryzacja, z adresem URL Yadis. Każdy opis usługi może mieć dodatkowe parametry.
Architektura modułowa
Yadis podąża za paradygmatem REST -ful, „małych kawałków luźno połączonych”, który okazał się skuteczny w rozwoju sieci.
Podstawowym założeniem jest to, że tożsamości można adresować za pomocą adresów URL lub innych identyfikatorów (takich jak XRI i-names ), które można przetłumaczyć na adresy URL. Następnie Yadis łączy XRDS (plik możliwości oparty na XML) z każdym adresem URL, który wyraża powiązane możliwości lub usługi.
Właściciel identyfikatora Yadis może wybrać, z jakich usług chce korzystać w swoim dokumencie XRDS . Po uzyskaniu tego dokumentu strona ufająca, taka jak strona internetowa akceptująca identyfikatory Yadis, może wybrać odpowiednią usługę dokumentu XRDS, np. protokół, który ma być używany do uwierzytelnienia. Dzięki temu istniejące witryny internetowe, takie jak blogi, mogą łatwo wdrażać podstawowe funkcje Yadis (np. na przykład, umożliwiając przesyłanie złożonych zapytań dotyczących informacji o właścicielu witryny bezpośrednio do witryny Yadis).
Odkrycie deskryptora zasobów Yadis
Znaleziono dokument możliwości powiązany z adresem URL tożsamości:
- Stosując się do niestandardowego nagłówka odpowiedzi HTTP o nazwie
X-XRDS-Location
, -
Przez równoważny wpis w sekcji HEAD HTML o nazwie<meta http-equiv="X-XRDS-Location" content="http://example.com/yadis.xml">
lub - Żądając specjalnego typu MIME o nazwie
application/xrds+xml
podczas wykonywania HTTP GET na adresie URL tożsamości.
Deweloperzy mogą wybrać, które z alternatyw mają zostać zaimplementowane, w oparciu o takie czynniki, jak to, czy mogą uruchamiać oprogramowanie pod adresem URL tożsamości, czy nie.
dokumenty XRDS
Oto przykładowy dokument dotyczący możliwości 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> < Priorytet usługi= "50" > <Typ> http://openid.net/signon/1.0 </Typ> <URI> http://www.myopenid.com/server </URI> <openid:Delegate> http://smoker.myopenid.com/
</openid:Delegate> </Service> < Priorytet usługi = "10" > <Typ> 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> < Priorytet usługi = "20" > <Typ> http: //lid.netmesh.org/sso/2.0 </Type> <URI>
http://mylid.net/liddemouser </URI> < / Usługa> <Usługa> <Typ> http://lid.netmesh.org/sso/1.0 </Typ> </ Usługa > </XRD> </ xrds:XRDS>
Gdyby ten dokument XRDS został zwrócony za pomocą jednego z wymienionych mechanizmów dla adresu URL, zawierałby następujące informacje:
- Adres URL to adres URL tożsamości Yadis.
- Ten adres URL obsługuje protokół OpenID za pośrednictwem dwóch serwerów i dwóch delegatów.
- Ten adres URL obsługuje wersję 1.0 i wersję 2.0 protokołu LID z pełnomocnikiem.
- Właściciel tego adresu URL tożsamości woli logować się przy użyciu swojego konta LiveJournal i protokołu OpenID (priorytet 10). Jeśli nie jest to możliwe (np. ponieważ strona ufająca nie obsługuje OpenID lub serwer LiveJournal jest niedostępny), właściciel chciałby użyć LID URL http://mylid.net/liddemouser (priorytet 20), po którym następuje usługa MyOpenID (priorytet 50).
LID, OpenID i społeczność programistów
Yadis został zainicjowany przez twórców protokołów Light-weight Identity (LID) i OpenID . Do tej współpracy dołączyli następnie członkowie OASIS XRI , szczególnie ci pracujący nad i-names .
Jednak Yadis jest otwartą inicjatywą, więc inni programiści zaczną używać opisu lekkich możliwości XRDS , umożliwiając podejście „mieszaj i dopasowuj” do tworzenia aplikacji obsługujących Yadis, umożliwiając twórcom aplikacji wybór własnej równowagi między łatwością implementacji z jednej strony , a zakres funkcji z drugiej strony.