Nastavení Google OAuth aplikace (Cloud Console)

Pro umožnění přihlašování přes Google, synchronizaci s Google Calendar a automatické vytváření videokonferencí v Google Meet na vaší self-hosted instanci LockMyCal je potřeba vytvořit jednu společnou OAuth 2.0 aplikaci v Google Cloud Console.

Note

Jedna Google OAuth aplikace obsluhuje všechny 3 funkce současně: Google Login, Google Calendar synchronizaci i generování Google Meet odkazů.


1. Vytvoření projektu v Google Cloud Console

  1. Přejděte na console.cloud.google.com a přihlaste se.
  2. V horní liště klikněte na výběr projektů a zvolte New Project (Nový projekt).
  3. Pojmenujte projekt např. LockMyCal Production a klikněte na Create.

2. Povolení požadovaných Google API

V levém menu přejděte do APIs & Services -> Library (Knihovna) a vyhledejte a povolte následující API:

  • Google Calendar API (synchronizace kalendáře)
  • Google Meet REST API (jen pokud chcete vytvářet místnosti Google Meet)

  1. V levém menu přejděte do APIs & Services -> OAuth consent screen.
  2. Vyberte typ uživatelů:
    • Internal (Interní): Pokud máte Google Workspace a chcete přístup povolit pouze kolegům v organizaci.
    • External (Externí): Pro obecné použití.
  3. Vyplňte povinná pole:
    • App name: LockMyCal
    • User support email: Váš kontaktní e-mail
    • Developer contact information: Váš technický e-mail
  4. V kroku Scopes (Rozsahy oprávnění) přidejte:
    • email a profile (přihlášení)
    • .../auth/calendar.events a .../auth/calendar.calendarlist.readonly (kalendář)
    • .../auth/meetings.space.created (Google Meet)
  5. Uložte nastavení.

4. Vytvoření OAuth 2.0 Client ID

  1. V levém menu přejděte do APIs & Services -> Credentials (Pověření).
  2. Klikněte na + Create Credentials -> OAuth client ID.
  3. Jako typ aplikace vyberte Web application.
  4. Do pole Authorized redirect URIs (Autorizované identifikátory URI pro přesměrování) přidejte:
    https://rezervace.vasedomena.cz/auth/google/callback
    https://rezervace.vasedomena.cz/auth/google/calendar/callback
    https://rezervace.vasedomena.cz/auth/google/video/callback
  5. Klikněte na Create. Google vám zobrazí Client ID a Client Secret.

5. Zápis do konfigurace LockMyCal

Přidejte získané klíče do svého .env souboru:

GOOGLE_CLIENT_ID=123456789-xxxxxxxx.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=GOCSPX-xxxxxxxxxxxxxxxxxxxxxxxx
GOOGLE_STATE_SECRET=nahodny_retezec   # openssl rand -base64 32
# Jen pro přihlašování účtem Google (kalendář a Meet fungují i bez toho):
ENABLE_GOOGLE_AUTH=true

Po restartu kontejneru se na přihlašovací stránce i v sekci nastavení kalendářů aktivuje propojení s Google ekosystémem.