Yadis je síťový protokol pro zjišťování služeb OpenID , OAuth a XDI pomocí Yadis ID. Yadis, původně navržený pro objevování služeb digitální identity, lze snadno použít i pro jiné služby.
Yadis ID může být normální URL nebo novější XRI i-name , kde se i-name musí překládat v URL. Takzvaná Yadis URL je buď Yadis ID (pokud se jedná o URL) nebo vyřešená URL z i-name.
Kromě toho Yadis specifikuje, jak používat Yadis URL pro získání popisovače služby, nazývané Yadis Service Descriptor . Tento deskriptor se řídí formátem XRDS a sdružuje více autorizačních a autentizačních služeb do Yadis URL. Popisovače služeb mohou mít parametry.
Yadis se řídí paradigmatem REST , které je dobře zavedené ve vývoji webových aplikací. Na základě předpokladu, že identifikátory mohou být adresovány prostřednictvím URL nebo jiných identifikátorů (jako jsou i-names XRI ), které lze vyřešit v URL, Yadis přidruží dokument XRDS ( formát XML popisující schopnosti) ke každé adrese URL, která vyjadřuje související funkce nebo služby. Vlastník Yadis ID si může ve svém XRDS dokumentu vybrat, které služby chce používat. Po obdržení dokumentu si spoléhající se strana (například webová stránka přijímající identifikátor Yadis) může vybrat vhodnou službu, jako je protokol pro autentizaci. To umožňuje stávajícím webům, jako jsou blogy, snadno implementovat základní funkce Yadis, jako je přesměrování návštěvníků blogu na relevantní informace o majiteli blogu, a zároveň umožňuje sestavování složitějších aplikací (například odesílání složitých dotazů vlastníka webu přímo na Yadis). -webová stránka)
Dokument o možnostech spojených s adresami URL se nachází na adrese:
Vývojáři si mohou vybrat, co implementovat, na základě různých faktorů, jako je například dostupnost identifikátoru na straně serveru.
Zde je vzorový dokument o schopnosti 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> < Priorita služby= "50" > <Typ> http://openid.net/signon/1.0 </Type> <URI> http://www.myopenid.com/server </URI> <openid:Delegate> http://smoker.myopenid.com/ </openid:Delegate> </Service> < Priorita služby= "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> <Service priority= "20" > <Type> http://lid.netmesh.org/sso/2.0 </Type> <URI> http: //mylid.net/liddemouser </URI> </Service> <Service> <Type> http://lid.netmesh.org/sso/1.0 </Type> </Service> </XRD> </xrds: XRDS>Takový dokument XRDS získaný pro danou adresu URL pomocí kteréhokoli z výše uvedených mechanismů vyjadřuje následující informace:
Yadis byl navržen vývojáři protokolů Light-Weight Identity (LID) a OpenID . Členové OASIS , technické komise XRI , se připojili k této spolupráci .
Yadis je otevřená iniciativa, takže ostatní vývojáři začínají používat popisy XRDS a využívají příležitosti zvolit rovnováhu mezi snadností implementace na jedné straně a množstvím implementované funkčnosti.