Články nebývají kontroverzní svým obsahem, ale nevhodnou dobou zveřejnění. Ještě než padne první věta, že OpenID je uměle vyhypovaná záležitost, poprosím všechny, kterým to způsobí rudé vidění nebo přezíravý povzdech, aby se pokusili článek přečíst se snahou porozumět.

OpenID je technologickými fandy uměle vyhypovaná záležitost. Připomíná vzestup Firefoxe, prohlížeče, který běžným uživatelům nechyběl, ale který jim jejich počítačově zdatné ratolesti instalovaly místo Exploreru, a to z důvodů, které spíš než v logice měly oporu v přesvědčení. Abych nebyl špatně pochopen: je moc dobře, že se Firefox dostal tam, kde nyní je, ale v době vzestupu to nebyla killer application, dokonce ani lepší volba, pro masového uživatele to byl jen krapet pomalejší a hardwarově náročnější prohlížeč, který uměl zobrazit o něco méně stránek.

Co je vlastně OpenID? Je to technologie, která umožňuje lidem přihlašovat se na různé weby stejným loginem, bez opakovaných registrací a vymýšlení hesla. Zbavuje návštěvníky neoblíbených registračních a přihlašovacích formulářů. Hovoří se o ní jako o univerzální internetové občance. Přesto o ní mluví jen několik nadšenců a žádná revoluce se nekoná. Proč?

Uživatelská nepřívětivost

Dnešní prohlížeče velice usnadňují vyplňování klasických přihlašovacích i registračních formulářů. Nenabízejí však žádnou podporu pro přihlašování přes OpenID.

Registrační formulář představuje notoricky známý vzor, jehož vyplnění zvládá běžný uživatel jako samozřejmost (byť se mu to snaží řada webových tvůrců setsakramentsky zkomplikovat). Prohlížeče si hesla pamatují a celý proces přihlášení redukují na kliknutí na ikonku nebo tlačítko, neprobíhá-li automaticky zcela.

Vedle toho registrace přes OpenID je krokem do neznáma vyžadující značné úsilí. Poprvé jsem si to vyzkoušel na blogu asi největšího popularizátora OpenID u nás, Martina Malého, který běží na Drupalu. Registrace přes OpenID se skládala z mnohem více kroků, než registrace klasická, na některé obrazovky jsem nechápavě zíral a snažil se odhadnout, co se po mně probůh chce.

Čímž pochopitelně nekritizuju Martina, který byl z chování Drupalu taky nešťastný. Jde jen o ukázku toho, že Drupal vyvíjejí programátoři, nikoliv experti na použitelnost. Ano, tyto skupiny vnímám jako protikladné. Ano, sám jsem výjimka 🙂

Další problém nastává při přihlašování. Prohlížeč nijak nespolupracuje, magická hůlka v Opeře nefunguje. Je potřeba kliknout na ovládací prvek přepínače, ručně vyplnit OpenID login, dostat se na stránky OpenID providera a tam se lze teprve přihlásit s hůlkou. Pokud se potřebujete přihlásit v okamžiku, kdy se chystáte odeslat komentář (což je prakticky ve 100% připadů), spáchá na vás Drupal ještě horší kulišárnu – komentář si musíte uložit do schránky, manuálně se přihlásit, poté znovu najít místo, na které reagujete a znovu komentář vložit.

Samozřejmě lituju toho, že jsem se s OpenID vůbec přihlašoval, a jelikož to nejde zvrátit, přestal jsem psát komentáře – pro Misantropa má OpenID nečekané pozitivum ;)

Implementace především

Říkáte, že pláču na špatném hrobě, že argumentace se netýká OpenID ale jedné zmršené implementace? Máte samozřejmě pravdu. Jde však o výbornou ukázku toho, jak slibná technologie může být zásadním krokem zpět z pohledu uživatelů.

Jsem přesvědčen o tom, že budoucnost OpenID závisí na podpoře za strany prohlížečů. Pokud přijdou s vestavěným OpenID přihlašováním na jeden klik, bude vyhráno. Aby stačilo přímo v prohlížeči nastavit svou identitu. Aby nedocházelo k žádným přesměrováním na providera, aby všechno proběhlo v rámci aktuální stránky, doprovázeno nanejvýš dialogovým oknem prohlížeče.

Podpora prohlížeče je klíčová i pro vývojáře webových aplikací. OpenID protokol je šíleně složitý, o schopnosti Běžného Programátora ™ napsat přívětivé chování webové aplikace si nedělám iluze. Pokud se však opráší cca koncept HTTP autentifikace, šikovně implementovat ho dokáže i začátečník.

Budou to prohlížeče umět? A kdy?

Bezpečnost (ještě víc) především

Musím zmínit ještě jednu filosofickou stránku. Dosud byla počítačová veřejnost vychovávána k tomu, aby na každém webu používala jiné heslo. Sám jsem to zvládl jen díky udělátku a dnes skutečně mám všude jiné a velmi silné heslo (a jsem tomu rád).

OpenID razí opačnou filosofii – jedno heslo platí všude.

Je potřeba připustit, že to není s pravidlem „jiné heslo pro každý web“ v rozporu, protože ono jedno heslo se zadává jen u jednoho OpenID providera. Na druhou stranu, ztráta takového hesla má řadově větší dopad a s rozmachem OpenID se dá očekávat, že se útočníci na tyto hesla zaměří.

Sumárum: dovedu si představit budoucnost v OpenID, ale zatím každému webdeveloperovi radím, ať je na stránkách nepoužívá. Ale oni stejně nemají zájem. Třeba stran OpenID nepadl pod článkem o Přihlašování uživatelů v Nette ani jeden dotaz – a že jsem pár rýpavých očekával ;)