Yadis

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.

Modulární architektura

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)

Yadis Service Descriptor Discovery

Dokument o možnostech spojených s adresami URL se nachází na adrese:

  1. X-XRDS-LocationV nestandardní hlavičce HTTP
  2. V ekvivalentní metaznačce v sekci HEAD dokumentu <meta http-equiv="X-XRDS-Location" content="http://example.com/yadis.xml">HTML
  3. nebo dán při požadavku na speciální typ MIMEapplication/xrds+xml v požadavku GET na adresu URL identifikátoru.

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.

Dokumenty XRDS

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:

  • Tato adresa URL je adresa URL identifikátoru Yadis.
  • Tato adresa URL podporuje protokol OpenID prostřednictvím dvou serverů a dvou delegátů.
  • Tato adresa URL podporuje verzi 1.0 a verzi 2.0 protokolu LID pomocí delegáta.
  • Pro přihlášení uživatelů dává vlastník URL přednost použití svých účtů LiveJournal a protokolu OpenID (priorita 10). Pokud to není možné (například spoléhající se strana nepodporuje OpenID nebo je server LiveJournal nedostupný), vlastník by chtěl použít adresu URL LID http://mylid.net/liddemouser (priorita 20) nebo Služba MyOpenID (priorita 50).

LID, OpenID a komunita vývojářů

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.

Viz také

Odkazy