Co je OAuth? OAuth je způsob, jak jedné službě povolit přístup k účtu u jiné služby, aniž byste jí prozradili své heslo. Setkáte se s ním pokaždé, když někde kliknete na tlačítko Přihlásit se přes Google, Přihlásit se přes Facebook nebo Přihlásit se přes Apple.

Přirovnat se to dá k hotelovému klíči od pokoje. Recepce Vám vydá kartu, která otevře jen Váš pokoj a jen po dobu pobytu. Nedostanete generální klíč od celého hotelu a kartu lze kdykoli zneplatnit. OAuth funguje stejně: druhá strana dostane omezené povolení, ne Vaše heslo.

Jak to probíhá krok za krokem?

  • Kliknete na tlačítko a stránka Vás přesměruje přímo na Google nebo jinou službu, u které máte účet.
  • Přihlásíte se tam, tedy na stránce, kterou provozuje Google, nikoli na stránce původního webu.
  • Uvidíte, co po Vás web chce, například jméno a e-mailovou adresu, a povolení potvrdíte.
  • Web dostane potvrzení ve formě dočasného přístupového klíče, kterému se říká token. Vaše heslo se k němu nikdy nedostane.

Jaké to má výhody? Nemusíte si zakládat další účet a vymýšlet další heslo, které byste stejně nejspíš zopakovali odjinud. Zároveň se na Vás přenese zabezpečení velké služby, tedy třeba i její dvoufázové ověření. A povolení jde kdykoli zrušit v nastavení účtu u Googlu, v sekci propojených aplikací, aniž byste kvůli tomu měnili heslo.

Kde je háček? Účet u velké služby se stane hlavním klíčem ke všemu ostatnímu. Když o něj přijdete, ztratíte přístup i na weby, kam jste se přes něj hlásili, proto ho chraňte nejlépe ze všech. Před potvrzením si vždy přečtěte, jaká oprávnění po Vás aplikace chce; požadavek na čtení celé pošty u obyčejné hry je varovný signál. A pozor na phishing: přihlašovací okno musí mít v adresním řádku skutečnou doménu dané služby a platné HTTPS.

Používá se OAuth i jinak než k přihlašování? Ano, velmi často k propojení služeb mezi sebou. Když Váš e-shop odesílá zboží přes dopravce nebo když se newsletterový nástroj napojí na Vaše kontakty, děje se to obvykle přes API a povolení vydané právě přes OAuth.

A jak je to u nás? Do klientské zóny se přihlašujete e-mailem a heslem doplněným jednorázovým kódem, přihlášení přes Google zde nenabízíme. Tlačítko Přihlásit se přes Google si ale můžete přidat na vlastní web, například do WordPressu pomocí pluginu. Běží to celé ve Vaší stránce a s webhostingem to nijak nekoliduje.