Monday, January 21, 2008

OpenID a Blogger.com


Blogger.com je od minulého týždňa OpenID identity provider. Čo to znamená? Podľa tohoto krátkeho návodu môžete začat používať svoju *.blogspot.com doménu ako svoju OpenID identitu.

Tradičný spôsob prihlasovania

OpenID mení tradičný spôsob prihlasovania na web. Doterajší systém je priamočiary: na webe kde sa chcete prihlásiť vyplníte formulár, kde zadáte svoje meno a heslo ktoré ste si predtým zaregistrovali. Na každom webe kde ste zaregistrovaný máte meno a heslo, ktoré nijak nesúvisí s ostatnými webmi kde ste zaregistrovaný. Vaša online identita je tak roztrúsená po desiatkach rôznych webov, a vy (alebo váš browser) si musíte pamätať všetky kombinácie web -- prihlasovacie údaje.

"The OpenID Way"

Pri OpenID je prihlasovanie na web ktorý podporuje OpenID identitu odlišné. Na takomto webe, nazvime si ho 'dôverujúca strana' (relying party) nájdete formulár, kde napíšete URL svojej OpenID identity. Moja je javaflight.blogspot.com. Web na ktorý sa prihlasujete môže vašu identitu overiť dvoma spôsobmi, závisí to len na miere podpory OpenID špecifikácií. Opíšem tu len ten jednoduchší spôsob: checkid_setup. Po zadaní OpenID identity URL vás dôverujúci web presmeruje na prihlasovací formulár vášho OpenID poskytovateľa (v mojom pripade Blogger.com) kde normálnym spôsobom vyplníte svoje meno a heslo, ktoré máte u vášho poskytovateľa zaregistrované (v mojom prípade.... snáď tu nečakáte moje naozajstné heslo ;-) ). Váš OpenID provider sa vás potom opýta, či dôverujete webu kde sa chcete prihlásiť, teda dôverujúcej strane, tej na ktorej ste zadali svoje OpenID URL, a či chcete overiť svoju identitu. Ak áno, ste presmerovaný naspäť na web dôverujúcej strany a ste prihlásený. Celkom milé. Treba si pamätať len jedno meno a heslo, a svoje OpenID identity URL.

Vlastná doména ako OpenID identity URL: Delegovanie

Na to aby ste používali vlastnú doménu ako svoje OpenID URL stačí veľmi málo, delegovať autentikáciu z vášho webu na vybraného poskytovateľa. Do HTML hlavičky na indexe vašej domény stačí pridať odkaz na vášho OpenID poskytovateľa, teda webu ktorý vie overiť vašu identitu a komunikovať ju ďalej dôverujúcim stranám.

Ako openid.server uvediete server poskytovateľa. Ako openid.delegate uvediete vaše OpenID identity URL:

/* URL OpenID poskytovatela */
<link rel="openid.server"
href="http://draft.blogger.com/openid-server.g" />
/* OpenID identity URL */
<link rel="openid.delegate"
href="http://javaflight.blogspot.com/" />


Takýmto spôsobom je možné byť nezávislý na OpenID poskytovateľoch. Ak poskytovateľ ktorého používate z nejakého dôvodu prestane fungovať, alebo ho chcete zmeniť, jednoducho zmeníte hodnotu openid.server na vašom webe, a dôverujúce strany sa budú pýtať iného poskytovateľa. Vám zostane vaše OpenID identity URL, a všetci budú spokojní :-)

Ďaľšie možnosti

Na vašom webe je možné mať rovno vlastného OpenID providera. Je to relatívne jednoduché s pomocou phpMyID, je to ale vyšší level oproti jednoduchému delegovaniu. Použitie phpMyID, a ďaľšie veci výborne popisuje Sam Ruby.

Zdroje