Authentifizieren an Microsoft 365 (POP3, SMTP, Exchange) mithilfe von OAuth
Vorwort
Diese Beschreibung ist ausschließlich an erfahrene IT Administratoren gerichtet. Durch Veränderung der Sicherheitseinstellungen kann es zu unerwünschten Störungen und Sicherheitslücken kommen.
Für die Einrichtung im Microsoft 365 Portal sind administrative Rechte erforderlich.
Einstellungen Microsoft 365
Benutzereinstellung
Für den E-Mailversandt ist im Admin-Portal (https://admin.microsoft.com) unter den Benutzer > E-Mail > "E-Mail-Apps verwalten" die Einstellung "Authentifiziertes SMTP" zu aktivieren.
Alternativ kann auch die Powershell genutzt werden:
Connect-ExchangeOnline
Set-CASMailbox -Identity "<USER>" -SmtpClientAuthenticationDisabled $false
Optional kann authentifiziertes SMTP für die gesamte Organisation freigeben werden.
Set-TransportConfig -SmtpClientAuthenticationDisabled $false
Registrieren der Anwendung im Entra Admin Center
Im Microsoft Entra Admin Center (https://entra.microsoft.com) muss eine neue Anwendung für den API-Zugriff registriert werden.
Die Anwendungs-ID (Client) und die Verzeichnis-ID (Mandant) wird später in cevisio benötigt.
Clientschlüssel erstellen
Für den Zugriff benötigen wir einen geheimen Schlüssel. Dieser wird später in cevisio benötigt.
Der Schlüssel kann nur an dieser Stelle einmalig eingesehen und gesichert werden.
API-Berechtigung
Unter API-Berechtigung (1) muss für Office 365 Exchange Online (3) folgende Anwendungsberechtigung vergeben werden:
- IMAP.AccessAsApp
- POP.AccessAsApp
- SMTP.SendAsApp
- full_access_as_app
Zum Abschluss muss noch die Administratorzustimmung erteilt werden.
Service Principal
Um den Zugriff der Anwendung auf die Benutzerdaten zu erhalten muss ein Service Principal angelegt werden. Für die Anlage ist die Objekt-ID der Unternehmensanwendung erforderlich.
Unter Identität > Anwendungen > "Unternehmensanwendungen" (2) kann in den Eigenschaften der entsprechenden Anwendung die "Objekt-ID" (3) ausgelesen werden. (Nicht zu verwechseln mit der Objekt-ID der API-Registrierung.
Service Principal anlegen (Powershell)
Einmalig ist ein Service Principal über die Powershell anzulegen.
Connect-ExchangeOnline
New-ServicePrincipal -AppId <Anwendungs-ID> -ServiceId <Objekt-ID> [-Organization <ORGANIZATION_ID>]
Berechtigung je Benutzer (Powershell)
Je Benutzer muss dem Service Principal das Recht für den Zugriff auf diesem erteilt werden.
Connect-ExchangeOnline
Add-MailboxPermission -Identity "<USER>" -User <Objekt-ID> -AccessRights FullAccess
Einstellungen in cevisio
E-Mail-Konten
Aktiveren der Authentifizierung über OAuth 2.0 und hinterlegen der Anwendungs-ID (Client), Verzeichnis-ID (Mandant) und des geheimen Schlüssel.
Das POP3/SMTP Kennwort ist nicht erforderlich. Da dies ein Pflichtfeld ist (Version 22.102), sind hier zufällige Werte einzutragen.
Benutzereinstellungen der Exchange-Schnittstelle (Kalender)
Aktiveren der Authentifizierung über OAuth und hinterlegen der Anwendungs-ID (Client), Verzeichnis-ID (Mandant) und des geheimen Schlüssel.
Firewall/Webfilter am cevisio Applikationserver
Die Domains login.microsoftonline.com und outlook.office365.com dürfen nicht blockiert werden.












