OAuth2 ermöglicht eine sichere Verbindung zwischen Odoo und Microsoft Office 365, ohne dass Passwörter ausgetauscht werden müssen. Das Protokoll nutzt zeitlich begrenzte Tokens zur Autorisierung und schützt damit die Benutzerdaten. Diese Anleitung erklärt das Konzept, die praktische Umsetzung und häufige Problembehebungen für eine erfolgreiche Integration.
🔐🔗 Odoo mit Microsoft Office 365 per OAuth2 verbinden – Vollständige Anleitung
🧠 Teil 1: Das Prinzip – Was ist OAuth2 und warum?
OAuth2 ist ein Autorisierungsprotokoll – kein einfaches Passwort-Login. Es ermöglicht, dass zwei Systeme (hier: Odoo und Microsoft 365) sicher miteinander kommunizieren, ohne dass Odoo jemals das echte Microsoft-Passwort eines Benutzers kennt oder speichert.
Stattdessen bekommt Odoo ein zeitlich begrenztes „Token" (wie ein Besucherausweis), das Microsoft ausstellt und das Odoo berechtigt, bestimmte Aktionen im Namen des Benutzers durchzuführen.
🏗️ Die drei Akteure
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ │ │ │ │ │
│ ODOO │ ◄─────► │ MICROSOFT │ ◄─────► │ BENUTZER │
│ (Client App) │ │ AZURE / ENTRA │ │ (Besitzer │
│ │ │ ID (Auth-Server)│ │ des Postfachs)│
└─────────────────┘ └──────────────────┘ └─────────────────┘
möchte stellt erteilt
E-Mails senden Token aus Erlaubnis
& empfangen
🔄 Der OAuth2-Flow – vereinfacht erklärt
Benutzer klickt "Connect" in Odoo
↓
Odoo leitet weiter zu Microsoft Login
↓
Benutzer meldet sich bei Microsoft an & erteilt Erlaubnis
↓
Microsoft schickt Benutzer zurück zu:
https://meine-odoo-url.de/microsoft_outlook/confirm
↓
Odoo empfängt Access Token + Refresh Token ✅
↓
Odoo nutzt Token für SMTP/IMAP – kein Passwort nötig!
🎯 Zwei Anwendungsfälle – wichtiger Unterschied!
Ich weise ausdrücklich darauf hin: Es gibt bei Odoo/Microsoft zwei unterschiedliche OAuth2-Integrationen – die oft verwechselt werden:
| Use Case A | Use Case B | |
|---|---|---|
| Zweck | E-Mail via Outlook OAuth | Login via Microsoft Azure |
| Protokolle | SMTP / IMAP | OpenID Connect |
| Redirect URL | /microsoft_outlook/confirm |
/auth_oauth/signin |
| Berechtigungen | SMTP.Send, IMAP.AccessAsUser.All |
User.Read, openid, profile |
⚠️ Beide Fälle brauchen eine separate Azure App mit unterschiedlichen Redirect URLs und Berechtigungen!
🔑 Warum OAuth2 besser ist als klassisches Passwort
| Klassisches Passwort | OAuth2 Token |
|---|---|
| Odoo speichert das Passwort | Odoo speichert nur Tokens |
| Passwortänderung bricht Verbindung | Token wird automatisch erneuert |
| Kein MFA-Support | Vollständiger MFA-Support ✅ |
| Kein Audit möglich | Microsoft protokolliert alle Zugriffe ✅ |
| Sicherheitsrisiko bei Datenleck | Token kann jederzeit widerrufen werden ✅ |
🛠️ Teil 2: Schritt-für-Schritt-Anleitung
🗺️ Überblick
Microsoft Azure Portal → Odoo Settings
───────────────────────────── ──────────────────────────
App registrieren → Client-ID + Secret eintragen
API-Berechtigungen setzen → Ausgehenden Mailserver konfigurieren
Benutzer zuweisen → Eingehenden Mailserver konfigurieren
Client Secret erstellen → Verbindung testen
🅰️ Teil 2A: Microsoft Azure Portal konfigurieren
Schritt 1 – Azure Portal öffnen & App registrieren
- Mit dem Microsoft Office 365 Administrator-Konto anmelden
- Navigiere zu „Manage Microsoft Entra ID" (früher: Azure Active Directory)
- Klicke oben auf „Add (+)" → „App registration"
- Fülle das Formular aus:
| Feld | Wert |
|---|---|
| Name | Odoo (oder ein erkennbarer Name) |
| Supported account types | Accounts in any organizational directory (Multitenant) and personal Microsoft accounts |
| Redirect URL – Plattform | Web |
| Redirect URL – URL | https://<deine-odoo-url>/microsoft_outlook/confirm |
⚠️ Wichtig: Die
<deine-odoo-url>muss exakt derweb.base.urlin Odoo entsprechen!
Du findest sie unter: Einstellungen → Technisch → Systemparameter →web.base.url
- Klicke auf „Register"
Schritt 2 – API-Berechtigungen setzen
👉 Im linken Menü: „API permissions"
- Klicke auf „(+) Add a Permission"
- Wähle „Microsoft Graph" → „Delegated Permissions"
- Suche und füge folgende Berechtigungen hinzu:
| Berechtigung | Zweck |
|---|---|
SMTP.Send |
E-Mails senden (ausgehend) |
IMAP.AccessAsUser.All |
E-Mails empfangen (eingehend) |
User.Read |
(wird automatisch hinzugefügt) |
💡 „Delegated" bedeutet: Odoo handelt im Namen des Benutzers – nicht als eigenständige App. Der Benutzer muss einmalig zustimmen.
- Klicke auf „Add permissions"
Schritt 3 – Benutzer & Gruppen zuweisen
- Gehe zurück zur „Overview" der App
- Klicke auf „Managed Application in Local Directory"
- Im linken Menü: „Users and Groups"
- Klicke auf „(+) Add User/Group"
- Füge alle Benutzer/Gruppen hinzu, die Outlook in Odoo nutzen sollen
- Klicke „Select" → „Assign"
Schritt 4 – Client-ID & Client-Secret erstellen
Client-ID ermitteln:
- In der „Overview" der App: Application (Client) ID kopieren 📋
Client Secret erstellen:
- Im linken Menü: „Certificates & Secrets"
- Klicke auf „(+) New Client Secret"
- Fülle aus:
- Description:
Odoo Fetchmail - Expires: Maximal mögliches Datum wählen (24 Monate oder Custom)
- Description:
- Klicke „Add"
- Den „Value" sofort kopieren! ⚠️ Er wird danach nicht mehr vollständig angezeigt!
⚠️ Ich empfehle dringend, das Ablaufdatum zu notieren und im Kalender einzutragen – bei Ablauf gibt es sofortige Mailunterbrechungen!
🅱️ Teil 2B: Odoo konfigurieren – Ausgehender Mailserver
Schritt 5 – Outlook-Integration in Odoo aktivieren
👉 Einstellungen → Allgemeine Einstellungen → Integrationen
- „Microsoft Outlook" aktivieren ✅
- Client-ID aus Schritt 4 eintragen
- Client-Secret aus Schritt 4 eintragen
- Speichern
Schritt 6 – Ausgehenden Mailserver einrichten
👉 Einstellungen → Allgemeine Einstellungen → Ausgehende Mailserver
- „Neu erstellen"
- Haken bei „Outlook OAuth" setzen
- Fülle aus:
| Feld | Wert |
|---|---|
| Name | z.B. Outlook SMTP |
| Username | Deine Office 365 E-Mail-Adresse |
| SMTP-Host | smtp.outlook.com (automatisch) |
| Verschlüsselung | TLS (STARTTLS) (automatisch) |
| Port | 587 (automatisch) |
| Passwort | ❌ Leer lassen! |
- Klicke auf „Connect your Outlook account"
- Microsoft-Fenster öffnet sich → Anmelden → „Yes" klicken
- Grüner Badge „Outlook Token Valid" erscheint ✅
- „Verbindung testen" klicken
🅲️ Teil 2C: Odoo konfigurieren – Eingehender Mailserver
Schritt 7 – Eingehenden Mailserver einrichten
👉 Einstellungen → Technisch → E-Mail → Eingehende Mailserver
💡 Das Technische Menü ist nur im Entwicklermodus sichtbar!
Aktivieren unter: Einstellungen → Allgemein → Entwicklermodus aktivieren
- „Neu erstellen"
- Servertyp:
Outlook OAuth Authentication - Fülle aus:
| Feld | Wert |
|---|---|
| Server | imap.outlook.com (automatisch) |
| SSL | ✅ Aktiviert (automatisch) |
| Port | 993 (automatisch) |
| Username | Deine Office 365 E-Mail-Adresse |
- Klicke auf „Connect your Outlook account"
- Erneut Microsoft-Login durchführen → Erlaubnis erteilen
- „Verbindung testen" klicken ✅
✅ Teil 3: Checkliste & häufige Fehler
✅ Abschlusskontrolle
□ Azure App registriert mit korrekter Redirect URL
□ API Permissions: SMTP.Send + IMAP.AccessAsUser.All gesetzt
□ Benutzer/Gruppen in der App zugewiesen
□ Client-ID und Client-Secret in Odoo eingetragen
□ web.base.url in Odoo stimmt mit Redirect URL überein
□ Ausgehender Mailserver: Token gültig (grüner Badge)
□ Eingehender Mailserver: Verbindung erfolgreich getestet
□ Ablaufdatum des Client-Secrets notiert!
⚠️ Häufige Fehler & Lösungen
| Fehler | Ursache | Lösung |
|---|---|---|
| „Redirect URI mismatch" | URL stimmt nicht überein | web.base.url und Azure Redirect URL angleichen |
| „Token expired" | Client Secret abgelaufen | Neues Secret in Azure erstellen & in Odoo eintragen |
| Kein Token-Badge sichtbar | Client-ID/Secret falsch | Werte in Odoo-Einstellungen prüfen |
| E-Mails kommen nicht an | Benutzer nicht in Azure App zugewiesen | Schritt 3 wiederholen |
| MFA-Fehler | Conditional Access Policy | IT-Admin muss Odoo-App von MFA-Erzwingung ausschließen |
📚 Weiterführende Links
| Ressource | Link |
|---|---|
| Odoo Doku: Outlook OAuth E-Mail | azure_oauth |
| Odoo Doku: Microsoft Azure Login | users/azure |
| Microsoft Azure Portal | portal.azure.com |
| Microsoft Entra ID | entra.microsoft.com |
Ich hoffe, dieses vollständige Dokument hilft dir und deinem Team bei der Einrichtung! Du kannst es direkt als interne Dokumentation oder Kundenanleitung verwenden. 🎉
Viel Erfolg bei der Umsetzung – ich drücke dir die Daumen! 🤞
Odoo-Expertin bei Detalex GmbH
Oddy ist ein Produkt der Detalex GmbH. Wir unterstützen unsere Kunden mit Custom-Entwicklung, Beratung und Hosting für Odoo.
Termin vereinbaren