refactor: reuse the SSO app registration for M365 calendar sync
One Entra enterprise application now covers both interactive login and the calendar sync's client-credentials Graph access, instead of requiring a second app registration. GraphClientService reads OIDC_ISSUER_URL/OIDC_CLIENT_ID/OIDC_CLIENT_SECRET (same as SSO) and derives the tenant ID from the issuer URL's path, rather than three dedicated M365_CALENDAR_* env vars. The app registration just needs the "Calendars.ReadWrite" Application permission added alongside its existing delegated login scopes. Co-Authored-By: Claude Sonnet 5 <[email protected]>
This commit is contained in:
1 parent
e7b157ec35
commit
e133a677ab
6 files changed
+70
-44
No files matched your search
@@ -43,25 +43,22 @@ BACKUP_RETENTION_COUNT=14
|
||||
# (GET /api/v1/auth/sso/status meldet enabled: false, kein Fehler beim Start).
|
||||
# OIDC_ISSUER_URL ist die v2.0-Metadaten-URL des Tenants, OIDC_REDIRECT_URI
|
||||
# muss exakt der in der App-Registrierung hinterlegten Redirect-URI entsprechen.
|
||||
#
|
||||
# Dieselbe App-Registrierung wird auch fuer die M365-Kalender-Synchronisation
|
||||
# (Modul Kalender) wiederverwendet - kein zweites Enterprise-App-Objekt noetig.
|
||||
# Dafuer in der App-Registrierung zusaetzlich die Application-Permission
|
||||
# "Calendars.ReadWrite" hinzufuegen (Admin-Consent noetig); die Tenant-ID wird
|
||||
# aus OIDC_ISSUER_URL abgeleitet. Eintraege (Aufgaben, Durchsichten,
|
||||
# Behandlungen, Fuetterungen, Ernten, Koeniginnen-Zuordnungen) werden
|
||||
# einseitig (ApiCore -> M365) in den Kalender einer Microsoft-365-Gruppe
|
||||
# uebertragen. Ohne diese drei Werte bleibt die Synchronisation deaktiviert;
|
||||
# zusaetzlich muessen die Synchronisation selbst UND die jeweilige Gruppen-ID
|
||||
# in der GUI (Verwaltung > Automatisierung > Kalender-Sync) gesetzt werden.
|
||||
OIDC_ISSUER_URL="https://login.microsoftonline.com/<tenant-id>/v2.0"
|
||||
OIDC_CLIENT_ID="change-me-entra-client-id"
|
||||
OIDC_CLIENT_SECRET="change-me-entra-client-secret"
|
||||
OIDC_REDIRECT_URI="http://localhost:3001/api/v1/auth/sso/callback"
|
||||
|
||||
# M365-Kalender-Synchronisation (Modul Kalender). Eintraege (Aufgaben,
|
||||
# Durchsichten, Behandlungen, Fuetterungen, Ernten, Koeniginnen-Zuordnungen)
|
||||
# werden einseitig (ApiCore -> M365) in den Kalender einer Microsoft-365-
|
||||
# Gruppe uebertragen. Eigene, separate App-Registrierung in Azure/Entra
|
||||
# (NICHT dieselbe wie OIDC_CLIENT_ID oben) mit Application-Permission
|
||||
# "Calendars.ReadWrite" (Admin-Consent noetig), Client-Credentials-Flow.
|
||||
# Ohne alle drei Werte bleibt die Synchronisation deaktiviert. Zusaetzlich
|
||||
# muss die Synchronisation UND die jeweilige Gruppen-ID in der GUI
|
||||
# (Verwaltung > Automatisierung > Kalender-Sync) aktiviert/gesetzt werden -
|
||||
# diese drei Env-Variablen allein reichen nicht.
|
||||
M365_CALENDAR_TENANT_ID="change-me-m365-tenant-id"
|
||||
M365_CALENDAR_CLIENT_ID="change-me-m365-client-id"
|
||||
M365_CALENDAR_CLIENT_SECRET="change-me-m365-client-secret"
|
||||
|
||||
# Swagger-UI unter /api/v1/docs ist per Default deaktiviert, da sie das
|
||||
# gesamte API-Schema ungeschuetzt (kein JwtAuthGuard) preisgeben wuerde.
|
||||
# Nur fuer lokale Entwicklung/Debugging explizit aktivieren.
|
||||
|
||||
Reference in new issue
Block a user