Skip to main content

Azure AD SSO einrichten (Microsoft Entra ID)

Mit dieser Anleitung verbindest du Pragma mit deinem Microsoft Entra ID Tenant. Nutzer deiner Organisation können sich danach mit ihrem Microsoft-Account einloggen.

Voraussetzung: Du brauchst Admin-Rechte im Azure Portal und Owner-Rechte im Pragma Workspace.


Schritt 1 — App in Azure registrieren

  1. Öffne portal.azure.com und navigiere zu Microsoft Entra ID → App registrations → New registration
  2. Fülle das Formular aus:
    • Name: Pragma CRM (oder beliebiger interner Name)
    • Supported account types: Accounts in this organizational directory only (Single tenant)
    • Redirect URI: Plattform Web, URI https://app.mikemuellers.de/auth/sso/callback
  3. Klicke Register

Schritt 2 — Client Secret erstellen

  1. Im Menü links → Certificates & secrets → Client secrets → + New client secret
  2. Description: Pragma CRM Prod, Expires: 24 months
  3. Klicke Add
  4. Kopiere die angezeigte Value sofort — sie wird nur einmal angezeigt

Schritt 3 — IDs notieren

Auf der Overview-Seite der App-Registrierung findest du:

FeldBeschreibung
Application (client) IDDeine client_id für Pragma
Directory (tenant) IDWird für die Discovery-URL benötigt

Schritt 4 — SSO in Pragma konfigurieren

Öffne die Browser-Konsole auf https://app.mikemuellers.de (F12 → Console) und führe folgenden Code aus:

const csrf = document.cookie.split('; ').find(r=>r.startsWith('wcb_csrf=')).split('=')[1];
fetch('/api/workspace/sso/config', {
method: 'POST',
headers: {'Content-Type': 'application/json', 'X-CSRF-Token': csrf},
body: JSON.stringify({
provider: 'azure',
client_id: 'DEINE_CLIENT_ID',
client_secret: 'DEIN_CLIENT_SECRET',
domain: 'deine-domain.de',
discovery_url: 'https://login.microsoftonline.com/DEINE_TENANT_ID/v2.0/.well-known/openid-configuration',
enabled: true
})
}).then(r=>r.json()).then(console.log)

Ersetze DEINE_CLIENT_ID, DEIN_CLIENT_SECRET und DEINE_TENANT_ID mit den Werten aus Schritt 2 und 3.

Eine erfolgreiche Antwort sieht so aus:

{ "workspace_id": 1, "provider": "azure", "client_id": "...", "enabled": true }

Schritt 5 — SSO testen

Öffne einen Inkognito-Tab und rufe auf:

https://app.mikemuellers.de/auth/sso/login?workspace_id=1

Du wirst zu Microsoft weitergeleitet. Nach erfolgreichem Login landest du direkt im Pragma Dashboard.


Wichtige Hinweise

  • Just-in-Time Provisioning: Neue Nutzer werden beim ersten Login automatisch in Pragma angelegt
  • Offboarding: Nutzer, die aus dem Azure Tenant entfernt werden, können sich nicht mehr einloggen
  • WORKSPACE_SECRETS_KEY: Dieser Umgebungsvariable muss in der Produktionsumgebung gesetzt sein, damit Client Secrets verschlüsselt gespeichert werden können (Railway: Variables-Tab)

Typische Fehler

FehlerUrsacheLösung
AADSTS50011: redirect_uri mismatchRedirect URI in Azure stimmt nicht übereinPrüfe exakten URI inkl. https:// in Azure → Authentication
500 Internal Server ErrorWORKSPACE_SECRETS_KEY nicht gesetztVariable in Railway hinterlegen
403 Automated clientscURL statt Browser verwendetBrowser-Konsole für den API-Call nutzen
400 workspace_id requiredLogin-URL ohne Parameter aufgerufen?workspace_id=1 anhängen