跳到主要内容

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