Přejít k navigační liště

Zdroják » Různé » OpenID: poučení z krizového vývoje

OpenID: poučení z krizového vývoje

Články Různé

Příběh OpenID zatím nekončí, přesto nabízí ponaučení i pro ostatní projekty. Obzvlášť pro projekty podobného ražení. Pokud vám připadá, že se OpenID nějak neujalo a hledáte příčinu v technických problémech, zbystřete – podle všeho se totiž opakuje historie o technicky zajímavém, ale zcela zbytečném řešení.

Lidé se mýlí. Někdy se mýlí rádi („jsem přesvědčen, že tohle nedopadne dobře, i když bych se rád mýlil!“), ale většinou mýlení nepatří mezi vítané kratochvíle. Na druhou stranu každý, kdo se pohybuje v IT (a technologiích vůbec), musí počítat s tím, že se v odhadu zmýlí.

Obvykle nemívám ve zvyku se mýlit. Když už se mi to ale při odhadu vývoje stane, připadá mi snazší říct na rovinu „vypadá to, že jsem se sekl“ než vymýšlet zdůvodnění a vyjmenovávat, kde všude mě vývoj věcí příštích podrazil. Takže: Ohledně OpenID to vypadá, že jsem se řádně sekl.

OpenID od počátků…

Nějakou shodou okolností jsem implementoval OpenID už před mnoha lety v blogovacím systému, kde sloužilo jako „jednotná identita“ pro komentátory – tedy vlastně dělalo přesně to, k čemu bylo původně navrženo. V té době se v ČR o OpenID moc nemluvilo, a když jsem chtěl lidem tuhle novinku „prodat“, musel jsem začít od osvěty, od vysvětlování principu, jak to funguje a k čemu to je – čímž jsem se stal, jaksi mimoděk, propagátorem téhle technologie.

Proč to nepřiznat: OpenID se mi po technické stránce líbilo. Princip je (pro technika) poměrně srozumitelný, nasazení (s knihovnou) práce na jeden den. (Implementovat celý „protokol“, obzvlášť verze 2.0, z čisté vody a na zelené louce je ale horor.)

OpenID se ve světě pěkně rozvinulo, podporovat ho začali „skoro všichni“, od Google a Microsoftu po Seznam, náhle během roku a půl vzniklo mnoho „autorit“ a já vedl dlouhé debaty o OpenID s kolegy vývojáři. Debatovali jsme o technických aspektech toho řešení, o limitech technologie, o bezpečnosti přístupu OpenID, já psal o OpenID články na Zdroják, všechno vypadalo jako velmi slušně rozběhnutá záležitost, ale při pozornějším pohledu bylo vidět, že OpenID na jednu nohu kulhá.

Začala být stále patrnější určitá nevyrovnanost: Počet poskytovatelů, tedy serverů, kde můžete mít svou identitu, byl a je velký. Víc než dostatečný. Problém je na té druhé straně – když už tu identitu máte, kde se s ní přihlásíte? To, že se jaksi nedostává míst, kde můžete OpenID použít, je očividné, ale proč to tak je? Je to snad příliš těžké? Nebo to čeká na nějaký silný impuls, co strhne lavinu?

Technicky nebyl a není s nasazením OpenID velký problém; to, nač nadávají vývojáři, co OpenID implementují, jsou většinou, promiňte mi mou hrubost, banality, řešitelné pomocí přístupu „použij přiměřený nástroj“. Námitky kolegů vývojářů se motají okolo toho, že OpenID je složitý na implementaci (od čeho jsou hotové knihovny?), že je pomalý, nepřehledný, že ho může někdo zneužít nebo že OAuth je mnohem lepší (je to něco jiného!) Je příznačné, že v diskusích vývojářů a implementátorů nezaznívá výtka, která se nakonec ukazuje jako ta podstatná.

Můj omyl spočívá hlavně v tom, že mě až donedávna nenapadlo se na OpenID podívat právě z tohoto úhlu.

Problém s OpenID

OpenID má, podle všeho, výraznou konstrukční vadu, co nespočívá v technologii, ale v nezvládnuté ambici. OpenID totiž dnes řeší problém, který lidi nepálí.

Pregnantně shrnul tento poznatek Yishan Wong ve své, dnes již proslulé, odpovědi na serveru Quora. „Není snad nutnost registrovat se a udržovat různé identity na různých serverech velký problém, který všichni máme?“ Odpověď zní: „Ne, není!“

Wong správně poukazuje na to, že tuto záležitost řeší lidé různými způsoby: zaregistrují se se svým oblíbeným jménem a heslem, zaregistrují se a kliknou na „pamatuj si mě“, uloží si heslo do prohlížeče, neregistrují se a jdou jinam… Ajťákům budou vstávat vlasy hrůzou nad tím, jak lidé nedodržují pravidla bezpečnosti, ale realita je, že většina lidí se chce dostat na stránku a nějak s ní pracovat. Nebudou ale používat něco, co řeší problém, který je nezajímá.

Stav OpenID podle Wonga odpovídá situaci, kdy si technik všimne, že lidé nosí spoustu klíčů na kroužku. Zamyslí se, řekne si: „To musí být nepohodlné!“ a navrhne řešení – univerzální klíč v něčem, co vypadá jako mobilní telefon. Ten pak nabídne lidem: „Helejte, tady máte něco místo té vaší spousty klíčů –  tam si můžete některé z klíčů dát, zamknout si je dalším klíčem a používat je. Akorát že to nefunguje na všech zámcích, takže některé z těch klíčů na kroužku si budete muset nechat, jen k nim teď přidáte tenhle divný mobil. Jo a nefunguje to jako mobil. A je na tom logo nějaké firmy. Do té firmy to pošle zprávu vždycky, když to někde použijete!“

S Wongem polemizuje Scott Gilbertson, který tvrdí, že pokud je OpenID propadák, pak tedy velmi úspěšný. Argumentuje 50 000 weby, kde lze OpenID použít – a vzápětí dodává, že „pro spoustu uživatelů je přihlašování přes OpenID obtížné, takže jej nepoužívají“. I když je k dispozici těch 50k webů. Uvádí příklad podobné služby Facebook Connect, připomíná OpenID Connect, zmiňuje podporu OpenID na StackOverflow…

Podle Wonga však má Facebook Connect podobný problém jako OpenID. Jakákoli služba tohoto druhu bude mít stejný problém. Technologicky bude možná přijatelná, snadno ji na web kdekdo nasadí, ale jidé ji nebudou chtít používat, protože řeší problém, který lidé nemají.

Gilbertson správně poukazuje na to, že jednou možná bude OpenID skrytý kdesi v hlubinách prohlížeče a bude nás přihlašovat na požádání, jako to dneska dělá se jménem a heslem. Nabízí se otázka: Proč by to dělal? Když už dnes umí uživatele přihlásit jménem a heslem, v čem je tedy ten podstatný rozdíl, kvůli kterému by to měl dělat pomocí OpenID?

Je OpenID mrtvé?

Musím se přiznat, že mi Wongovy argumenty připadají srozumitelné; čím delší dobu jsem pryč od programování, tím víc jim rozumím. Věřím, že kdyby OpenID zůstal coby nástroj pro přenášení ověřené identity komentátorů mezi blogy, byl by přijatelný. Po technické stránce je OpenID použitelné; z hlediska uživatelského rozhraní v něm taky není zásadní problém (je to pouhý protokol, vlastní implementace může být mnohem použitelnější než to, co současné weby předvádějí). Jen ta zatrolená užitečnost, s tou je potíž.

OpenID není zatím odepsaný, na to v něm firmy utopily příliš mnoho peněz – je to ale zboží, po kterém nevznikla poptávka. Je stále patrnější, že toto bude ten hlavní problém, který nevyřeší žádná úprava specifikace.

Ostatně: pro každý projekt, technologii, nápad je rozhodující, jestli řeší problém, který lidé cítí. (Ve skutečnosti ho mít nemusí, stačí, když si budou myslet, že ho mají.) To je to, co v důsledku rozhodne – ani ne technická vyspělost, ani zpracování, ani snadnost použití! Na to často tvůrci a vynálezci zapomínají…

V té souvislosti nelze nezmínit MojeID (a – ano, vím že tu je na něj reklama).

Když se na mojeID podíváme „Wongovým pohledem“, nutně si položíme otázku: „Je jednotné a ověřené přihlášení na různé weby se všemi osobními údaji věc, která nám tu chyběla?“ Obchodníci možná odpoví, že ano, že pro ně to je užitečné. Klíčová otázka, která rozhodne, ale je: chybí to uživatelům, zákazníkům, lidem? A zde si právě nejsem ani trochu jist jednoznačným souhlasem. I když bych se rád mýlil.

K tématu: Learning from our Mistakes: The Failure of OpenID, AtomPub and XML on the Web

Komentáře

Subscribe
Upozornit na
guest
97 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
View all comments
Rdm

jak již bylo zmíněno, většina uživatelů má téměř vždy stejné uživatelské jméno a heslo, které používá na mnoha webech a kašlou na to, jestli to je nebo není bezpečnostní riziko. Ti pokročilejší uživatelé pak používají KeePass, 1Password a podobné programy a tím eliminují to bezpečnostní riziko (osobně mám v jednom z těchto programů 115 účtů se 115ti různými a složitými hesly). Dnes se navíc „probojovává“ přihlášení přes FB nebo Twitter, příp. přes Google Accounts.

OpenID nebo MojeID má v této konkurenci zásadní problém – v obou případech si díky způsobu nastavení providera nemám šanci zapamatovat přihlašovací jméno a pak to, že získá-li někdo k tomu účtu přístup, má pak přístup všude a v případě MojeID dokonce ověřený…

Oldis

A lze v pripade OpenID nebo MojeID zdelovat na ruznych webech ruzny e-mail? e-mailu mam pet a kazdy na neco jineho ;)

BobTheBuilder

MojeID má 2 (nebo 3?) e-maily: normální, !další e-mail“ a email pro oznámení. Rozhodně ty první 2 lze sdělit danému subjektu selektivně, ale taky bych tam snesl těch mailů víc.

Pavel Šimerda

OpenID tomu nijak nebrání.

Oldis

Jako programator lehce stizen paranojou ze zdelovani osobnich udaju, me MojeID donuti pouzivat jen zakon a to jeste jen mozna. A podobneje to s OpenID. Ruzne weby pozaduji ruznou sumu osobnich informaci, od jmena, pres bydliste po e-mail, a obvykle zadavam jen to co je nezbytne nutne a jeste premyslim o tom kam to zadavam.
Takze OpenID a MojeID musim rici je: „ne, děkuji“

debil

100% souhlas. Nadruhou stranu pouzit otevreny standard treba pro alternativu k reseni datovych schranek mi prijde jako suprove reseni. Jeste by se to dalo prodavat jako licenci, pro firmy, co by statu openid zarizovali. neco podobneho ackoliv asi ne pod openid nyni resi v nemecku. vice viz clanek pana Peterky na lupe. Tam se soudruzi z NDR (teda z SRN) zamysleli a myslim, ze vyuzili otevrene standardy, ktere sveri akreditovanym komercnim autoritam a maji vystarano. daji job vicero firmam a maji reseni „zadarmo“ resp. kazdy si to zaplati sam podle toho jak a co chce pouzivat. ne jako tunel do sw602 pres ceskou postu cerna dira s.r.o.

dracul

co vam brani u openid nevyplnovat vsechny udaje? a co brani pouzivat treba vic identit u vice provideru? Takze za tak nekvalifikovane vykriky muzi rict akorat: „ne, děkuji“

Ondra Kněžour

Proč by to ale dělal? Jaký pro něj bude mít přínos vytvořit si X identit pro přihlášení k X službám u Y providerů, když si může rovnou vytvořit X identit u X služeb?

dracul

pokud bude X identit bude mensi nez X sluzeb tak se to vyplati:)

Ondra Kněžour

Myslim, že spíš ne, protože tuhle správu identit vyřeší uživatel pomocí služby zapamatuj si heslo v prohlížeči a ušetří čas nutný k zjišťování, jak OpenID použít :)

Pavel Šimerda

„Myslim, že spíš ne, protože tuhle správu identit vyřeší uživatel pomocí služby zapamatuj si heslo v prohlížeči a ušetří čas nutný k zjišťování, jak OpenID použít :)“

Pokud by ty dvě řešení měly stejné vlastnosti, tak nic proti :) (což nemají). Čas, který uživatel potřebuje k naučení se práce s OpenID je podstatně menší než čas, který potřebuje k naučení se práci se všemi službami, práci se správcem hesel, zálohování správce hesel, přenos správce hesel na nový počítač/OS, atd, atd…

Pavel Šimerda

Hlavní je, když má i X různých bezpečných hesel. Pokud ne, odmítám se bavit o jakémkoli srovnání :).

nepřihlásím

Mě naopak přijde jednoduší vytvořit si více OpenID identit, které mají předem předvyplněny právě jen vybrané údaje.

Zmíním jednu velkou výhodu OpenID: pokud se rozhodnu provozovat více webů a chci napříč jimi uživatelům držet jednu identitu (alá lupa.cz, root.cz, podnikatel.cz), mám bez práce hotové řešení.

A také, mě se to prostě líbí. Autor píše, že to uživatele nebolí. Mne ano, desítky hesel, které jsou téměř stejné a které zkouším z hlavy a tedy jsou tuplem nebezpečné, mě štvou. Nějaké aplikace pro správu hesel používat nechci, protože co až o ně přijdu (například přeinstalace počítače). OpenID vše toto krásně řeší.

Opět použiji jako příklad root.cz: nejspíš tu mám nějaký účet a možná jich bude dokonce více. Ale už o tom nemám ani páru. Root.cz je jen jeden z mnoha webů, kam chodím, navíc nepravidelně. Proč bych si měl pamatovat byť jen login natož heslo? S OpenID bych se třeba i přihlásil a nepřispíval jako anonym.

Tady jde jen o blbé komentáře, ale pokud mají pro provozovatele údaje o návštěvníkovi nějakou hodnotu, měl by mít zájem na jeho jediné registraci a ne x duplicitních. V opačném případě není důvod vůbec vyžadovat přihlášení. Proto z tohoto pohledu jsou pro OpenID zákazníky provozovatelé, jen na to někteří zatím nepřišli. Velcí budou prosazovat svá řešení (Facebook, Google), malí díky OpenID mohou mít plnohodnotnou alternativu.

belzebub

Uz dlouho jsem mel pocit ze OpenID nejak smrdi – ale nikdy jsem si to nedal dohromady – tady je to krasne shrnuto – resi problem ktery lidi nepali.. je to proste tak.
Ted se na OpenID pravdepodobne aplikuji metody pro mrtve kone a spousta firem se pokusi ozivit mrtveho kone OpenID, protoze odmitne pripustit ze se zmylili.

Pavel Šimerda (pavlix)

Mně osobně vždy taková možnost chyběla, takže jsem uživatelem OpenID už mnoho let… spousta webů (hlavně diskuzních apod), by mě měla jako registrovaného uživatele, pokud by OpenID uměly a viditelně nabízely.

Sám bych OpenID aktivně používal a propagoval na veškerou autentizaci uživatelů, šetří to čas a nervy i na straně admina a tvůrce aplikací. Ale, naštěstí pro mně, jsem business webových řešení opustil a začal se věnovat zajímavějším věcem.

Mimochodem, jak že je to tady s možností používat OpenID na rootu? Už léta tu píšu bez registrace právě kvůli tomu, že nechci další login a heslo na další službu.

volani.webnode.cz

A nemáš lepší používat keeppass? Je verze pro windows, linux, mobily.. tuším že i pro hloupé s J2ME.. :)

Pavel Šimerda

„A nemáš lepší používat keeppass? Je verze pro windows, linux, mobily.. tuším že i pro hloupé s J2ME.. :)“

Nemám.

Pavel Šimerda

Tak… už jsem objevil jak se přihlásit pomocí OpenID :). Tak uvidíme, jak to bude vypadat. Možná je to u jiných jinak, ale mě si služby, které podporují single sign on (zvlášť v této podobě) docela získávají.

František Kučera

To já zase OpenID mám, ale prakticky ho nepoužívám – na většině webů jsem totiž měl klasickou registraci ještě dříve než podporovaly OpenID – a pak už jaksi nebyl důvod si ho k danému účtu připojovat, když si stejně hesla pamatuje prohlížeč (nebo ta důležitá i já).

Pavel Šimerda

Nikdy jsem nebyl ochotný pro všechny ty služby vymýšlet samostatná hesla, jen proto, že tam přijdu jednou :). Takže kdekoli je dobrá podpora OpenID, tak to uvítám.

www.google.com

Ha. OpenID tu funguje.. Akorat mi chybi to co umi stackoverflow – tam se prihlasuju ‚Login->OpenID->(obrazek gmailu)‘. Ten hnusnej retezec `https://www.go­ogle.com/accou­nts/o8/id` si nepamatuju a nechce se mi jej porad hledat.

Taky mi chybi moznost automaticky vytvorit ucet pro dany OpenID.

Pavel Šimerda

„Taky mi chybi moznost automaticky vytvorit ucet pro dany OpenID.“

Vytvořit účet s OpenID bez hesla se mi tu povedlo. Jinak bych se na Rootu asi nikdy nezaregistroval.

Inkvizitor

Já se přhlašuju přes OpenID na několik webů. A podobných uživatelů tam je docela dost.

MilosNemec

Mě ten problém pálí, protože si pro každý účet udržuji unikátní kombinaci jména a hesla. Navíc používám několik počítačů, mezi kterými musím synchronizovat KeePass. Problém s OpenID vidím spíše v tom, že ho skoro nikdo nenabízí. Nedělal jsem si přesnou statistiku, ale odhaduji, že těch cca 50ti účtů, které aktivně používám, budou OpenID přihlášení nabízet tak 2-3. Takže v tuto chvíli smysl nemá. Až bude OpenID alespoň na třetině e-shopů a diskuzních fór, pak o něm začnu uvažovat.

Jindřich

A mohl bych se zeptat, jak KeePass synchronizujete mezi počítači? Já to dělám tak, že synchronizuji celý program přes Dropbox (exe v Linuxu pouštím přes mono) a lokálně na jednotlivých počítačích (bez synchronizace) mám ještě soubor s klíčem nutným pro vstup do databáze hesel. Nevím ale, zda to takto není z bezpečnostního hlediska riskantní.

MilosNemec

Synchronizuji kdb soubor (databáze hesel) přes Syncplicity. Bezpečnostní riziko tu určitě je, kdyby se někdo dostal ke kdb souboru, může hrubou silou prolomit hlavní přístupové heslo a má přístup ke všem účtům. Nečekám ale, že bych se stal obětí sofistikovanějšího útoku. Pravděpodobnější nebezpečí hrozí spíš od majitele nějakého no name e-shopu, který ukládá hesla v plaintextu a napadne ho třeba zkusit stejné heslo na e-mail. Nebo mu přihlašovací údaje někdo ukradne. A tato nebezpečí jsou unikátními kombinacemi přihlašovacích údajů pro každý účet minimalizována.

Jindřich

Možná by Vám také pomohlo přihlašování do programu pomocí hesla a klíče: pokud by někdo ze synchronizačního programu získal soubor s databází, pořád ještě nemá klíč. A teď mě napadlo změnit příponu souboru s databází: případný „narušitel“ soubor nerozpozná, i když se k němu dostane.

MilosNemec

Použití klíče je určitě dobrý nápad. Udělám to, díky za radu.

Los

Taky má keepass možnost vícenásobného zašifrování databáze.. Nastavením vyšího čísla se výrazně prodlouží doba prolamování hesla metodou bruteforce. Například můj keepass se na procesoru 2.2GHz otevírá ~5s .. Už jsem si zvykl.

Rdm

Stačí synchronizovat tu databází nemusíte celý program. Osobně mám zálohy databáze s hesly uloženy v kontejneru šifrovaném pomocí TrueCrypt a tento kontejner pak synchronizuji přes Dropbox.

iki

snazsi nez synchronizovat tc container pres dropbox, je pouzivat na synchronizaci spideroak ci wualu … ty maji lokalni sifrovani a zero knowledge policy (pouzivam spideroak, ale o wuale je to zname tez)

Pavel Šimerda

„A mohl bych se zeptat, jak KeePass synchronizujete mezi počítači? Já to dělám tak, že synchronizuji celý program přes Dropbox“

Takže kdyby Dropbox nabízel OpenID, tak se na to celé můžeš vykašlat :D.

Pavel Šimerda

„Mě ten problém pálí, protože si pro každý účet udržuji unikátní kombinaci jména a hesla.“

Já pro „hloupé“ služby používám univerzální hesla… a když to někdo zneužije, napíšu adminovi či majitelům, ať s tím něco udělají.

„Navíc používám několik počítačů, mezi kterými musím synchronizovat KeePass.“

Na to bych neměl nervy.

„Nedělal jsem si přesnou statistiku, ale odhaduji, že těch cca 50ti účtů, které aktivně používám, budou OpenID přihlášení nabízet tak 2-3. Takže v tuto chvíli smysl nemá. Až bude OpenID alespoň na třetině e-shopů a diskuzních fór, pak o něm začnu uvažovat.“

Njn, jsem o krok dál. Až bude OpenID (či lepší náhrada, pokud v budoucnu vznikne) na třetině e-shopů (ne celkově, jen těch zajímavých), přestanu chodit na ty ostatní.

ondra.novacisko.cz

Nekdo si musi sve omyly svest na jine omyly, ale v zasade se da snest velice primitivni dukaz ze se plete. NEJVETSI PROBLEM JE OPRAVDU ZMRSENA IMPLEMENTACE, jak je na zacatku clanku pripomenuto, ze implementovat posledni verzi je velice obtizne.

Kdyz totiz dodelat prihlaseni na web je s OID otazkou dne, pak dopsat tam facebook login je otazkou na hodinu. Nikdo nechce davat data vybrane spolecnosti? Zato vsichni bez problemu daji data facebooku nebo microsoftu. Portaly umi spoustu prihlasovacich protokolu, kolikrat tam openid chybi. Proc?

Ne panove, OpenID bylo totalne zabito, prave svou technickou implementaci, velci hraci jej neprijali, protoze jim neprineslo takove zjednoduseni prace jako mit vlastni protokol.

JmJ

k slozitosti implementace se nemuzu vyjadrit, protoze jsem o ni nezavadil ani pohledem. Ovsem jako uzivatel mohu rict, ze mi takova sluzba opravdu neschazi. Jako programator pouzivam internet denne, ale rozhodne nemuzu rict, ze bych se ustavicne logoval na ruzne weby. Jestli pravidelne pouzivam ucet na 4 webech, tak je to moc. Nechci tim rict, ze nekdo na tom neni jinak.
Dalsi veci je, ze temer vyhradne pri registraci udavam fiktivni udaje. Mozna jsem ze stare skoly, ale po mem jmenu a adrese nikomu nic neni. Samozrejme nejde to tak delat vzdy.
Dalsi veci je, ze nikomu neni nic po tom, na jake weby chodim. A nechtejte mi namluvit, ze se to na overovacim serveru neloguje.
A snad posledni veci je potencialni velky pruser pri zcizeni identity. I kdyz bych mel na 10 webech stejny login a heslo, tak utocnik musi vedet ktere weby navstevuju a na kazdem „neco provest“, treba mi zmenit heslo a ukrast mi tak ucet. Pocitam, ze u openid zmeni heslo na jednom miste a jsem v perdeli pane hrabe. Pokud zjistim napadeni uctu na jednom webu, muzu si porad zachranit ucty na ostatnich webech.
Mozna jsem necemu kolem openid neporozumel, tak me prosim poucte.
Obecne mam pocit, ze centralizace sluzeb neprospiva soukromi na siti. Ale to je jina debata.

ondra.novacisko.cz

Já bych se k složitosti vrátil. Nejde to totiž odmávnou „máme na to knihovnu“. Na internetu máme 100+1 technologií a ne na všechnu lze nainstalovat tu knihovnu. Další problém je v tom, že OpenID je tak přeplácané, že k podpoře všech featur je to kolikrát zásah do celého informačního systému. Když už člověk začne zkoumat, „co je pod kapotou“, narazí na slepenec technologíí, které jsou použitý bez ladu a skladu a bez jakéhokoliv zdůvodnění, proč by tam vlastně měli být. Jestli použití „standardních“ protokolů mělo vyjít vstříct velkým hráčům, tak se to povedlo ale jen částečně, protože se objevilo mnoho poskytovatelů. Zároveň ale velci hráči neberou OpenID vážně, aby všechny své služby převedly na OpenID autentifikaci.

Co se standardních knihoven týče, tak když jsem se na to díval před rokem, byla to katastrofa. Časem se objevily knihovny, které na jednoduché přihlašování v PHP mají primitivní rozhraní. Ale to už je podle mne pozdě a navíc pořád je tam schovaný ten kostlivec v té složitosti. Co je platné, že jde o otevřený software, když jeho střevům malokdo rozumí. Potíže nastávají zejména v okamžiku, kdy nějaká součást celého kolosu přestane fungovat. Zpravidla proto, že velcí hráči standardní knihovny nepoužívají a investují do vlastního vývoje, lépe propojeného s jejich vlastní informačím systémem. Čím pak je systém komplikovanější, tím je víc míst, kde to může selhat.

A to není jediné bolavé místo OpenID. Dalším bolavým místem je používání uživatelsky nepřátelského identifikátoru. Znáte všechny podoby openId? A že jich je hodně! Každý BFU, který se přihlásí poprvé k internetu si někde založí e-mailovou schránku. E-mail už dnes respektují všichni, mají to krásně oddělené. Pokud něco obsahuje zavináč, sedí za tím člověk, pokud to připomíná webovou adresu, není to člověk, ale služba. Spousta BFU zná svůj e-mail a to jim stačí. PROČ SE TEDY MUSÍ UČIT DALŠÍ IDENTIFIKÁTOR? Proč prostě autentifikace neprobíhá jen na základě zadaného e-mailu? E-mail po nás dneska chce kde kdo. Zadáváteho do facebooku, do google, do různých registrací, jen proto, aby vám přišel e-mail s ověřovacím kódem. Tohle je také jedina doposud nepřekonaná metoda ověření platnosti identifikace. Přitom by stačilo, aby service provider mohl ověřit e-mail přímo s identity providerem, namísto zasílání e-mailu a opisování ověřovacího kódu. Uživatel by se nemusel nic učit a e-shopům, blogům a podobně by odpadl náročný proces registrace.

Co se přirovnání ke kroužku s klíči týče, tak to je naprosto zcestná představa. Jistě, možná funguje v případě, že si někdo jde na NIC.CZ vytvořit OpenID. To je ale špatně. Ani zajímavá cena v soutěži mě nedonutí lézt někam, kde mi nic nenabízí a vytvářet si další klíč na kroužku. Ale snad tady máme velké portály, třeba Seznam. Na Seznam chodím tak jako tak, a jakmile jsem přihlášen na seznamu, nemusím se přihlašovat na žádné stránky s OpenID. ID je předvyplněno, session je otevřená, kliknu na přihlásit a jenom to potvrdím. Žádný další klíček na kroužku, dveře otevírám klíčem od Seznamu. JENŽE VYSVĚTLETE TO BFUČKOVI. Z tohoto důvodu třeba některé moje přihlašovací formuláře vypadají takto:
http://www.hasicislapy.cz/?g=login

A stačilo by, aby tam svítilo okénko „přihlašte se e-mailem“ a uživatel by už nic nemusel řešit. Co já bych za to dal, kdybych si třeba nemusel pamatovat, jaký login a heslo mám v Alze. Většinou stejně moje přihlášení vypadá takto.
– Zapoměl jsem heslo,
– odeslat na e-mail
– přečist kód pro změnu hesla
– změnit heslo
– přihlásit se.

ondra.novacisko.cz

Jasně, a BFU ví, co je KeePass a Roboform. A nechávat přihlašovací údaje ve formuláři nechce, protože jeho počítač používá celá rodina

Zpátky na zem!

ondra.novacisko.cz

To jim přece nikdo nebere…! Konečně, dnes není problém si založit a používat OpenID a i nadále lze používat papírky a hesla uložená v prohlížeči.

Mimochodem, já vycházím z dotazů mých uživatelů, kteří používají aplikace Lištička a Pošťák. Třeba například typické chování uživatele Pošťák je mít v počítači jeden účet a v Pošťákovi připojené e-maily celé rodiny. Proto se hodně objevují dotazy, jak vypnout v Pošťákovi automatický vstup do schránky, aby schránku nemohli číst příslušníci rodiny. Takže asi tak.

Problém je v tom, že OpenID nechtějí implementovat žádní service provideři. Vemte si, jak je komplikované nakoupit v obchodu bez registrace, co všechno musí člověk vyplnit. Jak je komplikované tohle naprogramovat? Oproti použití nějaké identifikační metody, přesto se k tomu e-shopy uchylují, ačkoliv to zrovna uživateli práci nezjednoduší a je tak vysoké riziko, že v půlce formuláře si to rozmyslí a obchod neuzavře. Přesto zatím nikdo neadaptoval žádný uznávaný protokol identifikace.

Možná to je taky tím, že základní verze OpenID obsahuje minimum informací potřebných pro e-shop, třeba jako dodací adresa, fakturační adresa, kontakt, apod a podpora rozšíření OpenID je zase na straně portálů mizerná až nulová.

Ano, někdo se tu vysmívá easyloginu, ale takovéhle věci tam třeba jdou dělat. Jenže ja jsem malý člověk, abych dokázal tohle zpropagovat a měl čas to dál rozvíjet a třeba objiždět providery.

alancox

Já bych Vás chtěl jen podpořit.

Osobně si myslím, že za neúspěchem je skutečně debilně navrhnutý tento standard. A implementace, na to jak jednoduchou věc to má dělat, je složitá.

Osobně si rovněž myslím, že složitost implementace to zabila spíše, než důvody v článku.

Mám vůbec pocit, že kolem webů se vytvářejí složitější věci, než dělají v doktorátech atomové fyziky. A že se to pak smaže a pak se jede odznovu.

Všechny analýzy složitost webových standardů podceňují, ale složitost programátorské implementace zabila už hodně webových technologií, mimo jiné i XHTML, kdy se výrobci prohlížečů šprajcli a vzkázali W3C ať si jeho XHTML 2 nacpe laskavě kam slunce nesvítí.

Stejně tak si myslím, že za neúspěchem OpenID je mnohem více přehnaná složitost implementace, řekl bych že je to tak 75% příčin neúspěchu.

Veškeré rozbory, které dělá tento článek zapomíná, že nelze oddělit implementace a uživatelské hledisko. Například myslíte, že kvantový počítač by byl uživatelsky neúspěšný? Možná, ale především není obchodně úspěšný a nežene ekonomické zisky proto, že je obtížně implementovatelný. Zde by analýza pouze z uživatelského hlediska neobjasnila příčinu.

OpenID podle mě zabilo ze 75% složitost implementace, 25% nedostatek propagace s vysvětlením co to přinese uživateli (zde se OpenID vysvětlival naopak technoidně, uživatelé tomu nerozuměli) a že sami propagátoři žijí s nohama v oblacích.

Pavel Šimerda

„Osobně si myslím, že za neúspěchem je skutečně debilně navrhnutý tento standard. A implementace, na to jak jednoduchou věc to má dělat, je složitá.“

Standard jsem četl a je navržený velmi dobře.

Implementační problémy se týkají jen tvůrců knihoven a ti už dokázali, že to zase takový problém není.

anonym

BFU má na Alze úplně jiný login než jinde, protože zrovna na Alze bylo Janička25 už obsazeno a navíc tahle služba chce login maximálně na osm znaků a heslo minimálně na šest (příklad).

Předřečník popsal skutečný problém OpenID a tím je identifikátor. Kdyby stačilo zapsat identifikátor ve tvaru emailu, tak by ta služba dávno prorazila.

František Kučera

Takový Seznam to vysvětluje pomocí obrázků – to snad pochopí i BFU, ne?

jan.novak@seznam.cz → jan.novak.id.sez­nam.cz

jet

naprosto presne jsi uhodil hlavickou na hrebicek :-)
K tomu musim pridat jednu moji historku.
Mel jsem krasnou credit kartu (CartaSi – odnoz Visa). Tahle varianta mela krasny web, na kterem se dalo v realnem case videt stav uctu. Vsechno fungovalo krasne do okamziku, kdyz nektery idiot vymyslel, ze v ramci bezpecnosti by si uzivatele tohoto webu meli aspon kazde 3 mesice zmenit heslo. A vzhledem k tomu, ze uzivate jsou samozrejme nesvepravni a heslo by si dobrovolne nezmenili, tak to udelali povinne. Kazde 3 mesice zmenit heslo a heslo nesmi byt stejne jako nektere, ktere bylo pouzito behem posledniho roku. Vzhledem k tomu, ze jsem na tento web chodil tak radove jednou za 1/4 roku, tak kazde moje prihlasovani naprosto pravidelne koncilo tim, ze jsem 3 krat spletl heslo, coz vedlo k zablokovani uctu, musel jsem si vyzadat nove provizorni heslo, na neco ho zmenit a za 3 mesice se situace opakovala.
Nekolikrat jsem si s nimi vymenil dost na*rane maily, ale byli neoblomni. Takze jsem tento problem vyseril naprosto jednoduse. Vzal jsem nuzky, kartu jsem prestrihl, ucet v bance jsem zrusil a udelal jsem si ucet u jine banky, kde mam 1. kartu kompletne zadarmo, 2. vypis z karty na stejnem webu jako zbytek banky, 3. nenuti me menit heslo, mam tam stejne heslo uz nekolik let.

anonym

násilná změna hesla je nejdebilnější a zároveň pro uživatele nejméně bezpečná metoda zabezpečení.

Milionkrát zadávané heslo před bůhvíkým, kdy provozovateli posílám vlastně všechna hesla, jaká jsem kdy kde použil, ve snaze trefit to správné.

Tomáš Tintěra

Souhlasím Hlavní nevýhoda OpenID je, že je nepříjemné s špatné na použití pro všechny zůčastněné.

Uživatel: zajímaly by mne nějaké testy použitelnosti. Ikdyž vám, že GMail nebo Seznam podporují openID, bez hlubšího zkoumání stejně nevím svůj identifikáror.
A nebudu ho hledat, neb vím, že to bude dlouhé hledání a kdo ví, jestli to bude nakonec fungovat. (Nebude, na většině webů není implementováno a navíc bych si musel nejdelší ze svých ID)

Čili z pohledu uživatele velká a zbytečná investice.

Z pohledu investora riziková a zbytečná investice. Není žádný důvod, aby implementace byla super složitá. Když to začnu používat, kdo mi zaručí, že to bude použitelné v technologii, ve které budu tvořit za dva roky. Zásadní omezení použitelných tehnologií kvůli blbému přihlašování? Děkuji nechci. Zbytečnost je jasná. „Nikdo“ si nevybírá službu podle toho, jestli podporuje přihlašování X.

Z pohledu programátora: když je něco zbytečně složité, hromzí, že budu hledat jestli je chyba v mém kódu, nebo v knihovně nebo serveru. nepříjemná situace ve chvíli, kdy šéf zuří, peníze netečou a uživatelé se nemohou přihlásit. Díky složitosti protokolu se nemohu jednoduše podívat, jestli komunikace se serverem je v pořádku.

Maaartin

Zkusil jsem to v Opere a skoncil jsem na strance „Redirection status“ a k tomu nejaky „kliknete na link“ a zadny tam nebyl. Vypada to ze se vsecko povedlo az na ten konec.

Tronda

bredy, bredy! zase ta tvoje pisnicka o openid ktery je tak slozity, ze ho nikdo nepochopi, a jak jsi misto toho vymyslel http://www.easylogin.net/ Nojo je videt, ze kdo openid nepochopi, tak ho vynalezne znovu!

Anonym

Abych neumožňoval spojit aktivity na internetu podle jednoho ID.

shade

Vy máte na každém webu registraci jiným emailem? A platíte na každém eshopu jinou kartou? A pokaždé přistupujete z jiné IP adresy (což asi tak nejjednodušší z toho všeho)? :)

Anonym

většinou si vybírám eshopy, které registraci nevyžadují a zboží si nechávám posílat na firmu.

keff

A co google – ten ví o každém vašem přístupu na jakoukoliv strnku co má alespoň nějaký google javascript (včetně adsense, vloženého youtube vide apod.). Proti tomu se taky bráníte, nebo vám nevadí že tu někdo spojuje cca třetinu vašich aktivit na netu podle unikátní cookie?

Mordae

ghostery

Anonym

vadí, ale spojuje je s nějakou virtuální osobností.

Pavel Šimerda

„vadí, ale spojuje je s nějakou virtuální osobností.“

Stejně jako OpenID?

alancox

„A co google – ten ví o každém vašem přístupu na jakoukoliv strnku co má alespoň nějaký google javascript (včetně adsense, vloženého youtube vide apod.). Proti tomu se taky bráníte, nebo vám nevadí že tu někdo spojuje cca třetinu vašich aktivit na netu podle unikátní cookie?“

To je zcela v moci uživatele toto odstranit a tomuto zabránit.

Pavel Šimerda

„To je zcela v moci uživatele toto odstranit a tomuto zabránit.“

Taky máte máte v zásobě pár vtipů, co? (Za cookie si mimochodem místo HTTP cookie dosaďte obecný princip cookie).

Pavel Šimerda

„většinou si vybírám eshopy, které registraci nevyžadují a zboží si nechávám posílat na firmu.“

To musíte mít docela hodně firem, pokud ty objednávky nemají být spojené společnou identitou!

alancox

„Vy máte na každém webu registraci jiným emailem? A platíte na každém eshopu jinou kartou? A pokaždé přistupujete z jiné IP adresy (což asi tak nejjednodušší z toho všeho)“

A jak se většina webů domluví a porovnají si vzájemně identifikace?

Na rozdíl od OpenID identity, kde existuje jedno ověřovací místo, kde se ověření setkají?

Pavel

Mně osobně se myšlenka OpenID moc líbí – a mám fakt dobrý pocit, že už mám několik OpenID identit – Seznam, Google, Google Apps, Microsoft Live a dokonce i MojeID a možná ještě několik dalších.

Akorát mám v sobě nějaký mentální blok a pro přihlašování se mi to nikdy nechce použít. Hlavně proto, že své e-mailové adresy používám diferencovaně – některé na vážnější věci, jiné na méně vážné. No a protože si už nepamatuji, kterou z nich jsem použil pro které OpenID, nemám odvahu se přes OpenID nikam přihlašovat.

S autorem článku v zásadě souhlasím – v podstatě mi to nijak nechybí. Většinu hesel mám uloženo v LastPass, případně generuji přes SuperGenPass.

ondra.novacisko.cz

Mě se líbí, jak se tady každy bojí o své údaje na internetu. Přitom používání jediného ID je poslední věc, která vede k vystopování návštěvníka. Těch metod, jak zjistit „kdo kam chodi“ je mnoho a bez větších technických znalostí nemáte šanci se ukrýt. Schováváním se před jednotným ID je pak stejně zbytečné, jako schovávat se před krysou v medvědí jeskyni.

JmJ

Porad je lepsi vedet, ze se musim kryt jen pred medvedem, nez mit jeste starost o to, kde ma ne vybafne krysa.

Opravdu nemam zapotrebi davat zbytecne nejake treti strane pravomoce k memu elektronickemu „ja“.

Pokud nekomu nevadi, ze nad jeho „elektronickym zivotem“ ma dohled zase dalsi „osoba“, a je mu zatezko si pamatovat par loginu a hesel, tak prosim, necht sluzby „sjednocovani identity“ pouzije. Nejspis se mu nic zleho nestane.

Karel

Mně ani tak netrápí, že si to někdo může dohledat. Zlý Google o mně bude vědět vše. Ale mám problém s tím, komu co říci. U Alzy a podobných nemám problém jim sdělit svou adresu a telefon, ovšem u běžného „diskusního“ serveru s tím problém mám. A i ten email bývá problém, protože řada „diskusních“ serverů je z nějakého důvodu předává spamerům (možná je někdo vykrádá), takže naprosto běžně používám 3 emailové adresy podle toho, co od dané služby chci (jeden mám pro služby, kde je to jen nutné zlo, čtu ho jen když musím něco potvrdit, druhý email občas i čtu, na tom třetím jsem skoro neustále) a nemusím tak řešit tolik spamu jako dříve. Zvláště u „diskusních“ serverů kde při registraci automaticky schvalujete „odebírání novinek“.

Kdyby OpenID nabízelo jednoduše implementované „úrovně autorizace“, abych se mohl některým serverům vydávat za „Karel“, jiným za celé své jméno včetně emailu a jiným i se svou adresou, telefonem a datumem narození, pak bych to opravdu zvažoval. Do té doby je to ale pro mně spíš přítěž. A Facebook účet nemám :-)

ondra.novacisko.cz

To je přesně ono. Na to všechno jsem myslel při návrhu easylogin.net. Možnost vytvářet aliasy (na straně identity providera), možnost skrytého přihlášení (uvedu pouze svého providera, ale plnou autentifikaci provedu až u něj).

Nicméně OpenID tohle samozřejmě má, ale BFU to nezvládne používat, a service provider to musí umět podporovat. Zase je to o tom technickém zpracování. To je proč OpenID se neujme.

Kolik lidí používá easylogin.net?

ondra.novacisko.cz

Je to laboratoř. Smyslem nebylo vydat službu. Na to nemám peníze. Spíš jen ukázat, že to jde navrhnout tak, že se celý protokol vejde do dvou čtyřstránkových PHP souborů

alancox

„Přitom používání jediného ID je poslední věc, která vede k vystopování návštěvníka.“

Ha ha ha, jako vtip dobrý.

Opravdový odborník :-)

Už jsem myslel, že to budou zase obvyklé žvásty a že by to chtělo nějaký odborný článek… ale nakonec to tak zlé nebylo.

Ad „zaregistrují se se svým oblíbeným jménem a heslem, zaregistrují se a kliknou na „pamatuj si mě“, uloží si heslo do prohlížeče“

Přesně tak. Navíc na slušných webech se není potřeba registrovat a stačí třeba jen opsat kód z obrázku.

Ale doplnil bych ještě jednu věc, která podle mého hodně brzdí používání OpenID. Tato technologie totiž často nenahrazuje registraci, ale pouze následné zadávání jména a hesla — a v tom je ten problém. Uživatel se tak jako tak musí registrovat (a sdělit svůj e-mail a pak kliknout na odkaz, který mu na něj přijde) a vedle toho akorát zadá OpenID. Někdy je to zamaskované tak, že člověk napíše komentář nebo vyplní nějaký formulář, zadá OpenID a už se těší, jak je to hotové — a najednou na něj vyskočí klasická registrace a potvrzování e-mailu — takže si tím OpenID vůbec nepomohl. Ovšem toto není chyba OpenID jako takového, ale poskytovatelů služeb, kteří ho tímto způsobem nasazují.

Tronda

taky jsem se tesil, ale redakce asi usoudila, ze sebevetsim zvastem stejne „tricet let vyvoje bankovnich aplikaci v jave“ neprekona. // just kidding! ;)

ondra.novacisko.cz

Souhlas. On v pozadí ten profil vznikne vždycky, ale uživatel by to nemusel vědět. K tomu taky chybí v OpenID spoustu položek, které by uživatel mohl mít předvyplněné, třeba odkaz na ikonu, odkaz na webové stránky, nějaké sociální údaje, stačí se podívat na jakýkoliv diskuzák. Vše samozřejmě volitelně a s možnosti nastavit si to pro každého service providera jinak.

OpenID má mechanismus, jak přenášet tyto profilové údaje, ale znám málo IdP, kteří umí tak komplexni profily a málo SP, kteří to umí využít. Valná většina podporuje jen simple registration. A opět se vracíme k technické implementaci, protože SREG je ta nejjednodušší verze OpenID a prakticky nikomu se nechce jít do něčeho složitějšího. A SREG je zároveň konečná, protože technologické limity dané naprosto nevhodným způsobem přenášení údajů mezi subjekty neumožňují jakékoliv rozšíření. Ono to hodně vypadá, že OpenID vymýšleli hlavně produkťáci, obecně teoretici, ale zapoměli si pozvat nějakého schopného programátora/a­nalytika

alancox

A jsme tam, kde to tvrdím.

OpenID zabil špatný návrh. A následně implementace.

Pavel Šimerda

„Ono to hodně vypadá, že OpenID vymýšleli hlavně produkťáci, obecně teoretici, ale zapoměli si pozvat nějakého schopného programátora/a­nalytika“

Mám přesně opačný názor, totiž, že to dělali hlavně programátoři, a zapomněli o tom včas přesvědčit markeťáky :D.

veros

Přispěchám ještě s křížkem po funuse, ale zato s použitím OpenID.

OpenID používáme interně ve firmě pro autentizaci k několika různým intranetovým systémům. Než nutit nebohé uživatele pamatovat si sedm hesel k interním systémům, tak máme jeden centrální systém, který dělá OpenID providera. Všechny ostatní systémy, se ho pak umí přes OpenID zeptat, „kdo to ke mně přistupuje?“.

Protože OpenID je otevřený standard, výrazná část software ho podporuje a i dodavatele je s malým úsilím přesvědčit, aby „tohle stáhli“ a použili.

O jemných nuancích implementace v open-source, který jsme přihýbali, se vyjadřovat nebudu, nemohl bych zůstat u slušných slov. :-)

Globální využití OpenID jsem čekal pár let zpátky, ale nějak zatím nepřišlo…

Pavel Šimerda

Pokud mě někdy někdo vůbec přesvědčí (jedině dostatečným obnosem peněz), abych vytvářel nějaké komplikovanější weby, správa identit bude jednoznačně postavena na OpenID, pokud do té doby nevznikne něco lepšího.

ondra.novacisko.cz

To je na nic. Kazdy vetsi portal ma vlastni system a vetsinou je to postavene na nejakem centralnim spravci session, ktery umi vyrobit session pro danou sluzbu bez nutnosti noveho prihlaseni. Takhle to ma resene Seznam. A neni tam potreba tahat OpenID.

Pavel Šimerda

„To je na nic.“

Takynázor :).

veros

Ano, podobný problém, kde OpenID (dobře schované před uživatelem) je řešení.

Jen my to máme o trošku složitější, protože ne všechny systémy jsou Drupal – jde o historicky danou směs různých interních webů.

Jan

Nebyl by lepší nějaký kvalitní SSO? Prostě přihlásím se ráno do domény a pak už je klikám? Třeba NTLM?

veros

Nemám nic proti kvalitnímu SSO, ale NTLM tam nejspíš nepatří. Pomněte, že klientská zařízení nemusíte mít pod kontrolou. Přihlášení do domény a NTLM over HTTP vyžaduje Windows, ne?

Pokud existuje elegantní řešení, které si poradí s různými verzemi webových prohlížečů na různých operačních systémech a to včetně úchylných prohlížečů v nejrůznějších mobilech, tak sem s ním.

Rád se podívám, jak se to dá udělat jednodušeji. Používat OpenID pro SSO není nejjednodušší, ale přišlo mi nejvíce funkční.

Pavel Šimerda

Je nějaký důvod, aby kvalitní SSO nepoužívalo jako základ protokol OpenID?

cz3dtc

Tu ale tento systém odstraňujě.
To je celé a proto ho nikdo nechce.

veros

Ne, nemáte pravdu.

Nic nebrání tomu používat nějakého OpenID providera, který Vám bude pro každou službu poskytovat jiný OpenID identifikátor, fiktivní jméno a e-mail, který Vám bude přeposílat.

Vyzkoušeno na testovacím serveru. Do ostrého provozu by to chtělo ještě tak týden práce (kterým bohužel nedisponuji).

Pavel Šimerda

„Tu ale tento systém odstraňujě.“

OpenID? Neodstraňuje, nesmíš věřit všemu, co někdo napíše do internetové diskuze.

imploder

Založil jsem si MojeID a spojil ho se svojím účtem. Nechápu ale, jak root.cz nebo jiné servery iinfo.cz zjistí, že jsem si ho založil kvůli téhle soutěži a zařadí mě tak do slosování. Psal jsem kvůli tomu mail na mojeid@iinfo.cz a nikdo neodpověděl.

Pavel Šimerda

Soutěž jsem neřešil… ale doporučuju zkusit napsat na nějaký obecnější mail iinfo.

Tom

Dobrý den,

MojeID ví, ze kterého serveru člověk přišel, tj. díky komu si ho založil. Stejně tak ví, když se s ním člověk na server přihlásí. Tím pádem není problém splnit podmínku pro zařazení do slosování, kterou je založení účtu na některém našem serveru a alespoň jedno přihlášení pomocí MojeID na něm.

imploder

Aha, díky. Tyhle komentáře jsem přehlídl. Z nějakého důvodu mi přestaly chodit upozornění na mail (gmail) – nejenom odsud, ale i z kalendáře Googlu. Je to divné.

imploder

Tak už se to vysvětlilo, odpověděli mi. Je to podporované na straně mojeid.cz, které dostane data z automaticky (javascriptem) odeslaného formuláře ze serverů iinfa.

Clock

Kdyz se mluvi o tom, ze OpenID resi problem ktery lidi nepali – to by me zajimalo, jake problemy lidi dnes pali?

František Kučera

Když se omezíme na web, tak třeba jeho zahlcení spoustou bezcenného obsahu (automaticky generovaný, zkopírovaný, hloupý, prošpikovaný reklamou…). Najít to, co člověk hledá, je čím dál těžší. Navíc spousta obsahu z webu prostě mizí (takže když člověk najde něco zajímavého, měl by si to uložit na disk, protože zítra už to tam nemusí být).

ondra.novacisko.cz

Takhle by mělo fungovat laikovací tlačítko!

Enum a statická analýza kódu

Mám jednu univerzální radu pro začínající programátorty. V učení sice neexistují rychlé zkratky, ovšem tuhle radu můžete snadno začít používat a zrychlit tak tempo učení. Tou tajemnou ingrediencí je statická analýza kódu. Ukážeme si to na příkladu enum.