Přeskočit na obsah

Nastavení přihlášení přes Google (OAuth)

Navazuje na návod Založení projektu v Google Cloud. Tady v projektu zapnete přihlašování účtem Google a vytvoříte takzvaného OAuth klienta: dvojici údajů (Client ID a Client secret), díky které web pozná, že přihlášení opravdu potvrdil Google. Kdo se smí do administrace přihlásit, určuje web sám, Google jen ověří, o jaký účet jde.

Pokud jste mi v předchozím návodu dali přístup, udělám tento krok za vás a nic dalšího dělat nemusíte. Návod je pro případ, že vás o to požádám. Zabere asi 10 minut a nic se neplatí.

Než začnete

Budete potřebovat:

Na konci vám Google ukáže Client secret. Je to tajný údaj podobný heslu: nikam ho neukládejte a nikomu ho neposílejte e-mailem ani zprávou. Předáte mi ho formulářem v posledním kroku, který ho hned zašifruje.

Otevřete Google Auth Platform

  1. Otevřete console.cloud.google.com/auth/overview (otevře se v nové kartě).
  2. Vlevo nahoře zkontrolujte, že je vybraný váš projekt. Pokud ne, vyberte ho přes výběr projektu.
  3. Na stránce s textem, že Google Auth Platform ještě není nastavená (not configured yet), klikněte na Get started (začít).

Pokud místo toho vidíte přehled s menu Branding, Audience a Clients, přihlašování už nastavené je. Přeskočte na krok Vytvořte klienta.

Vyplňte údaje o aplikaci

Průvodce má čtyři části, každou potvrdíte tlačítkem Next (další):

  1. App Information (údaje o aplikaci):
    • App name: název, který Google ukáže při přihlášení, například „Vaše firma – administrace webu“.
    • User support email: vyberte svůj e-mail.
  2. Audience (kdo se může přihlásit): zvolte External. Neznamená to, že se do administrace dostane kdokoli, jen to, že se půjde přihlásit i účtem mimo vaši firmu (například soukromým Gmailem). Seznam povolených účtů hlídá web.
  3. Contact Information (kontakt): zadejte svůj e-mail. Google na něj posílá upozornění k projektu.
  4. Finish (dokončení): zaškrtněte souhlas s pravidly Googlu (Google API Services: User Data Policy) a klikněte na Continue (pokračovat) a pak na Create (vytvořit).

Aplikace zůstane v režimu Testing (testování). To je v pořádku: pro samotné přihlášení stačí a nic dalšího se v něm nastavovat nemusí.

Vytvořte klienta

  1. V levém menu Google Auth Platform klikněte na Clients (klienti).
  2. Klikněte na Create client (vytvořit klienta).
  3. Application type (typ aplikace): vyberte Web application.
  4. Name (název): například „Administrace webu“. Vidíte ho jen vy.
  5. Authorized JavaScript origins nechte prázdné.
  6. V části Authorized redirect URIs klikněte na Add URI (přidat adresu) a vložte přesně tuto adresu: https://vasefirma.cz/api/admin/oauth
  7. Klikněte na Create (vytvořit).

Adresa musí sedět přesně, včetně https:// a bez lomítka na konci. Jinak Google přihlášení odmítne s chybou redirect_uri_mismatch.

Pošlete mi údaje klienta

Google teď ukáže okno OAuth client created (klient vytvořen) s údaji Client ID a Client secret.

Okno zatím nezavírejte. Client secret Google ukáže celý jen teď, později z něj uvidíte jen konec.

  1. Klikněte na tlačítko Pošlete mi údaje klienta níže. Formulář se otevře přímo tady.
  2. Zkopírujte z okna Google Client ID (ikona kopírování vedle něj) a vložte ho do formuláře.
  3. Stejně zkopírujte a vložte Client secret.
  4. Formulář odešlete.

Pošlete mi údaje klienta

Odeslat údaje OAuth klienta

Vložte Client ID a Client secret z okna, které vám Google ukázal po vytvoření klienta. Secret se hned na serveru zašifruje, do žádného systému ani e-mailu nejde čitelně.

Formulář secret hned na serveru zašifruje. Rozšifrovat ho umím jen já, nikde jinde čitelně neleží. Pak okno v Google zavřete (OK). Údaje si nikam neukládejte, nebudete je potřebovat.

Kdybyste okno zavřeli dřív, nic se neděje: u klienta v Clients klikněte na Add secret (přidat secret), Google vytvoří nový a ten mi pošlete.

Hotovo

Hotovo! Přihlašování nastavím a dám vám vědět, až se budete moct do administrace přihlásit. Přihlásíte se pak tlačítkem Přihlásit se přes Google na stránce administrace.

Kdo se do administrace smí přihlásit, nastavuji na webu podle e-mailů, které mi dáte. Google účty navíc neřeší.