This is a test message to test the length of the message box.
Login
|
BTP Anbindung Office365 Mail
Erstellt von Software-Heroes

BTP - E-Mail Anbindung OAuth 2.0

55

Die Mail-Anbindung per Basic Auth funktioniert nun nicht mehr. Welche Möglichkeiten bestehen alternativ für die Anbindung von Office365 an das ABAP Environment und wie kannst du sie einrichten?

Werbung


In einem der ersten Artikel rund um das ABAP Environment hatten wir uns mit der Konfiguration von Office 365 beschäftigt und wie du alles im ABAP Environment anwenden kannst. Heute dazu ein Nachfolgeartikel.

 

Einleitung

Microsoft hat die Anmeldung per Basic Authentication, also per User und Passwort, an Outlook und Office 365 deaktiviert. Grundsätzlich gilt diese Anmeldemethode nicht mehr als die sicherste, weshalb Microsoft diese auch abschalten möchte. Das bedeutet nun, dass wir unsere Konfiguration im ABAP Environment auf eines der neuen Verfahren umstellen müssen. In diesem Artikel schauen wir uns deshalb einmal OAuth 2.0 an und hier vor allem die zwei verschiedenen Verfahren, die möglich sind. Der Artikel hat etwas länger gedauert, da vor allem am Anfang die Verwendung von OAuth 2.0 für das Communication Arrangement nicht vorgesehen war und erst seitens SAP implementiert werden musste.

 

Azure

Um mit der Grundkonfiguration beginnen zu können, müssen wir Einstellungen in Azure vornehmen, da diese für die Anmeldung wichtig sind. Du benötigst also einen Account auf Azure, wo normalerweise auch deine E-Mail-Adresse angelegt ist, um dich mit dem Server zu verbinden. Weiterhin bist du entweder Admin oder kennst die Admins des Accounts, um spätere Konfigurationen vornehmen zu können.

 

Anwendung

Melde dich also zuerst auf dem Azure Portal an und navigiere dann in den Entra Service, um die Konfiguration vornehmen zu können. Dort müssen wir eine neue App Registration vornehmen. Die App Registration ist wichtig, um uns an der Plattform anzumelden und die nötigen Berechtigungen zu erhalten. Im Bereich von Entra findest du deshalb im Seitenmenü unter "App Registration" diesen Punkt, kannst diesen aufrufen und findest oben den Button "New application", um eine neue Anwendung anzulegen. Die einzelnen Schritte beschreiben wir hier nicht im Detail, hier kannst du dir die öffentlich verfügbare Dokumentation von Microsoft anschauen. 

Ist die neue Anwendung dann verfügbar, findest du auf der Übersichtsseite den Display Name, den du während der Erstellung angegeben hast, sowie die Application ID, die Object ID und die Directory ID. Diese Informationen benötigen wir in späteren Schritten, du solltest sie dir also merken. Wichtig sind hier vor allem die Application ID und die Directory ID für die Anbindung.

 

Berechtigung

Damit wir später über die Anwendung neue E-Mails verschicken können, müssen wir noch die Berechtigung für Office Exchange hinzufügen. Gehe dazu in der Anwendung in den Bereich "Manage". Dort findest du die "API Permissions", wo du die Berechtigung hinzufügen kannst und später auch der Admin sie genehmigen kann.

 

Hier wählen wir die "SMTP.SendAsApp" aus. Diese Berechtigung reicht für den Versand aus. Diese Berechtigung muss von deinem Admin für die Plattform dann auch bestätigt werden, ansonsten hat dein User keine Berechtigung, wenn er sich anmeldet, und kann keine E-Mails verschicken.

 

Registrierung

Als Nächstes muss nun die Anwendung als Service Principal registriert werden. Dazu findest du die folgende Anleitung bei Microsoft. Diese muss durch einen Administrator von Azure durchgeführt werden und wird in den meisten Fällen über eine Konsole ausgeführt. Die verschiedenen Schritte sind in der Dokumentation beschrieben. Ohne diesen Service Principal hat die Anwendung am Ende keine Berechtigung und du erhältst beim Versand verschiedene Fehlermeldungen.

 

ABAP Environment

Ist die Grundkonfiguration dann in Azure abgeschlossen, können wir zurück ins ABAP Environment gehen, um unsere Einstellungen vorzunehmen.

 

Communication System

Dazu legen wir im ersten Schritt ein neues Communication System an, um uns gegen Entra zu verbinden. Im oberen Teil hinterlegen wir dann unseren SMTP-Server. Hier ist es wichtig, dass du vor allem den richtigen Port verwendest: nicht 443 wie im alten, sondern 587, um E-Mails versenden zu können.

 

In den OAuth-Einstellungen müssen wir dann die Client Settings vornehmen. Hier ist wichtig, dass wir den Authorization Endpoint und den Token Endpoint definieren. Diese werden benötigt, um ein Anmeldetoken zu erhalten und die Session über OAuth aufbauen zu können.

 

In den OAuth-Einstellungen müssen wir dann die Client Settings vornehmen. Hier ist wichtig, dass wir den Authorization Endpoint und den Token Endpoint definieren. Diese werden benötigt, um ein Anmeldetoken zu erhalten und die Session über OAuth aufbauen zu können.

login.microsoftonline.com/<DIRECTORY-ID>/oauth2/v2.0/token
login.microsoftonline.com/<DIRECTORY-ID>/oauth2/v2.0/authorize

 

Damit ist unsere Einstellung noch nicht abgeschlossen. Hier müssen wir uns im nächsten Schritt entscheiden, welche Anmeldemethode wir verwenden wollen. Entsprechend sollten wir unseren Outbound-User anlegen und können dann das Communication System speichern.

 

Methode A - Basic

Bei der ersten Methode handelt es sich um ein ähnliches Konzept wie bei der Basic Authentication. Hier verwenden wir die Client ID und ein Client Secret, um uns am Service anzumelden. Dazu legen wir einen neuen Outbound-User an, wählen die Authentication-Methode OAuth 2.0 und die Client Authentication Basic. Als Client ID verwenden wir die Application ID aus unserer Anwendung. Das Client Secret definieren wir im nächsten Schritt über die Azure-Plattform.

 

In Azure wechseln wir in unsere Anwendung und finden im Bereich Manage dann die Certificates & Secrets. Dort können wir Client Secrets auswählen und ein neues Client Secret anlegen. Dies ist wie ein Passwort, welches wir dann in der Konfiguration eintragen können. Normalerweise hat das Client Secret, welches wir hier anlegen, auch nur eine gewisse Haltbarkeit, die wir bei der Anlage definieren und die je nach Einstellungen in deinem Azure-Account unbegrenzt oder nur begrenzt möglich ist.

 

Methode B - JWT

In der zweiten Variante wählen wir als Client Authentication JWT (JSON Web Token) und tragen dort die Application ID wieder als Client ID ein. Bevor wir allerdings den User anlegen können, müssen wir über den Button "Download Certificate" das Zertifikat herunterladen, um es dann in Azure zur Verfügung zu stellen.

 

Im nächsten Schritt gehen wir dann in Azure wieder in unsere Anwendung und finden im Bereich Manage unter Certificates & Secrets den Bereich Certificates. Hier müssen wir das gerade heruntergeladene Zertifikat hochladen, damit die Anmeldung dann durchgeführt werden kann. Bei diesem Verfahren ist kein Passwort nötig, die Haltbarkeit ist abhängig vom Zertifikat und dessen Dauer.

 

Communication Arrangement

Damit sollten wir nun ein Communication System mit entsprechender Anmeldung definiert haben. Im nächsten Schritt legen wir entweder ein neues Communication Arrangement oder passen unser altes Communication Arrangement für das Szenario SAP_COM_0548 an. In den Additional Properties geben wir dann die E-Mail-Adresse an, mit der wir uns anmelden. Dies ist normalerweise auch die E-Mail-Adresse, über die wir dann später die E-Mails verschicken. Unter der Outbound Communication wählen wir dann unseren User aus, den wir angelegt haben, mit der entsprechenden Authentication Method, die wir verwenden wollen.

 

Nach der Auswahl der Methode müssen wir dann im unteren Teil den Additional Scope definieren. Dieser ist wichtig, um die passenden Berechtigungen nach der Anmeldung zu erhalten und mit der Anwendung zu interagieren. Hier findest du das Snippet, um es im Scope einzufügen. Mit ENTER sollte dieses übernommen werden.

https://outlook.office365.com/.default

 

Zum Abschluss solltest du in dem Bereich noch einmal das Arrangement und die Anmeldung prüfen. Hier muss der richtige Port 587 eingetragen sein. Hast du zum Beispiel das alte Communication Arrangement angepasst und es steht noch 443, kommt es zu Fehlermeldungen, die nicht unbedingt selbsterklärend sind.

 

Fazit

Die Umstellung auf OAuth 2.0 ist eher ein Must-have und sollte von dir angegangen werden, um die Kommunikation über Azure sicherzustellen und die Anmeldung deiner E-Mail weiterhin nutzen zu können. Es sind einige Schritte nötig, um die Konfiguration durchzuführen, vor allem auf Azure. Die Registrierung der Berechtigungen und des Service Principals kann je nach Organisation und Aufteilung des Accounts etwas schwieriger werden.

 

Weitere Informationen:
Microsoft - Exchange Online-Integration
Microsoft - Register Service Prinicpal


Enthaltene Themen:
BTPRAPABAP EnvironmentOffice365OAuth
Kommentare (0)



Und weiter ...

Bist du zufrieden mit dem Inhalt des Artikels? Wir posten jeden Dienstag und Freitag neuen Content im Bereich ABAP und unregelmäßig in allen anderen Bereichen. Schaue bei unseren Tools und Apps vorbei, diese stellen wir kostenlos zur Verfügung.


BTP - Pakete und SWC bereinigen

Kategorie - ABAP

Du möchtest ein Pakete im ABAP Environment löschen, doch es gibt noch Objekte die blockieren und vielleicht gar nicht mehr in Eclipse sichtbar sind? Schauen wir uns dazu einige Punkte zur Bereinigung an.

25.09.2026

RAP - Sales App Learnings

Kategorie - ABAP

Das Tutorial für die Sales App ist zu Ende und dieses Mal wurde eine große Bandbreite an Themen und Bereichen adressiert. In diesem Artikel schauen wir auf das Gelernte und wichtige Punkte.

08.09.2026

RAP - Navigation (App to App)

Kategorie - ABAP

Wie kannst du eigentlich innerhalb deiner Fiori Anwendung auf eine andere Anwendung navigieren, ohne das der User die App manuell wechseln muss? Schauen wir uns die Navigation zwischen Fiori Apps an.

01.09.2026

RAP - Singleton Pattern

Kategorie - ABAP

Das Singleton Pattern in RAP gibt es schon länger, doch wie genau funktioniert es und wie kannst du es auch für andere Use-Cases nutzen? Schauen wir uns dazu die Details in diesem Artikel an.

25.08.2026

RAP - Nativer Datei-Upload

Kategorie - ABAP

Du willst eine Datei in deine RAP Application hochladen und im Anschluss verarbeiten? Die offizielle Lösung für Up- und Download lässt noch warten, mit einem kleinen Umweg ist es aber bereits Heute möglich.

18.08.2026