Nastavení Microsoft Azure App (Entra ID)

Pro propojení LockMyCal s Outlook / Microsoft 365 kalendářem a automatické vytváření schůzek v Microsoft Teams je potřeba zaregistrovat aplikaci v portálu Microsoft Entra ID (Azure Portal).

Note

Stejná aplikace slouží pro synchronizaci kalendáře, videohovory Teams i přihlášení účtem Microsoft (osobním, pracovním nebo školním). Pro přihlášení přidejte redirect URI https://rezervace.vasedomena.cz/auth/microsoft/callback a zapněte ENABLE_MICROSOFT_AUTH=true (nebo přepínač v Administrace → Nastavení aplikace → Ověření). E-mail od Microsoftu se jen předvyplní do registrace – nový uživatel ho potvrdí odkazem.


1. Registrace aplikace v Azure Portálu

  1. Přihlaste se do portal.azure.com nebo entra.microsoft.com.
  2. Otevřete službu Microsoft Entra ID (dříve Azure Active Directory).
  3. V levém menu klikněte na App registrations (Registrace aplikací) -> + New registration (Nová registrace).
  4. Nastavte:
    • Name: LockMyCal
    • Supported account types: Zvolte Accounts in any organizational directory and personal Microsoft accounts (pokud chcete podporovat firemní M365 i osobní @outlook.com účty).
    • Redirect URI: Vyberte platformu Web a zadejte:
      https://rezervace.vasedomena.cz/auth/outlook/calendar/callback

      Po registraci v části Authentication přidejte ještě https://rezervace.vasedomena.cz/auth/teams/video/callback (Teams) a případně https://rezervace.vasedomena.cz/auth/microsoft/callback (přihlášení).

  5. Klikněte na Register.

2. Získání Application (Client) ID

Na úvodní stránce nově zaregistrované aplikace uvidíte Application (client) ID. Zkopírujte tuto hodnotu.


3. Vytvoření Client Secret (Tajný klíč klienta)

  1. V levém menu aplikace klikněte na Certificates & secrets (Certifikáty a tajné klíče).
  2. V záložce Client secrets klikněte na + New client secret.
  3. Zadejte popis (např. LockMyCal Production) a zvolte dobu platnosti (např. 24 měsíců).
  4. Klikněte na Add a okamžitě zkopírujte hodnotu v poli Value (po opuštění stránky již nebude zobrazena).

4. Nastavení API oprávnění (Microsoft Graph)

  1. V levém menu přejděte do API permissions (Oprávnění API).
  2. Klikněte na + Add a permission -> Microsoft Graph -> Delegated permissions (Delegovaná oprávnění).
  3. Vyhledejte a přidejte:
    • User.Read (základní profil a e-mail)
    • Calendars.ReadWrite (čtení a zápis kalendáře; přes něj vznikají i schůzky Teams)
    • offline_access, openid, profile, email
  4. (Volitelné): Pokud jste správce tenantu, klikněte na Grant admin consent for [Vaše organizace].

5. Konfigurace v LockMyCal

Přidejte proměnné do .env:

OUTLOOK_CLIENT_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
OUTLOOK_CLIENT_SECRET=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
OUTLOOK_STATE_SECRET=nahodny_retezec   # openssl rand -base64 32
# Volitelně přihlášení účtem Microsoft:
ENABLE_MICROSOFT_AUTH=true