Einstellungen OAuth
OAuth-Integration mit Odoo.
Erweiterungen
| Erweiterung | Beschreibung |
|---|---|
| Auth OAuth Keycloak | Ermöglich Keycloak Integration mit Odoo OAuth. |
| Auth OIDC | Login mit OpenID Connect Provider. |
| Odoo Microsoft Account | Login mit Microsoft-Account. |
| Microsoft Entra Base | Microsoft Entra OAuth Provider. |
Konfiguration
Odoo als OAuth-App auf Azure registrieren
Tips
Wir empfehlen Produkte von Infomaniak anstatt Microsoft zu verwenden.
Damit sich Odoo-Benutzer den OAuth-Authorisierungsflow mit Azure abwickeln können, muss Odoo auf Azure registriert werden.
Klicken Sie auf https://portal.azure.com/ um in das Azure-Portal zu gelangen. Navigieren Sie nach Microsoft Entra ID > App-Registrierungen und erstellen Sie eine neue App mit Neue Registrierung.

Verwenden Sie diese Angaben:
- Name: Odoo
- Unterstützte Kontentypen: Mehrere Entra ID-Mandanten / Alle Mandanten zulassen
- Redirect URI: Web
https://$HOSTNAME/microsoft_outlook/confirm
Warnung
Bitten ersetzen Sie $HOSTNAME mit dem Hostnamen ihrer Odoo-Installation.
Ist die App erstellt erhalten Sie diese Zusammenfassung:

Klicken Sie auf API-Berechtigungen und fügen Sie eine Berechtigung hinzu. Wählen Sie Microsoft Graph > Delegierte Berechtigungen
- SMTP.Send
- IMAP.AccessAsUser.All
Wenn Sie die Berechtigungen erteilt haben, müssen noch den "Admin Consent" erteilen.

Klicken Sie auf Benutzer und Gruppen. Fügen Sie den Benutzer mit dem sich Odoo verbindet, der OAuth-App hinzu.
Kopieren Sie die Anwendungs-ID (Client), es handelt sich hierbei um die Client ID der registrierten App.
Klicken anschliessend auf Ein Zertifikat oder Geheimnis hinzufügen. Erstellen Sie diesen Eintrag.

Kopieren Sie das Feld Wert, es handelt sich hierbei um das Client Secret.

Warnung
Die Geheime-ID des Schlüssels benötigen Sie nicht. Es handelt sich hier nicht um die Client ID.
Öffnen Sie jetzt Odoo und navigieren Sie nach Einstellungen > Dialog > Outlook Credentials. Geben Sie hier die Client ID und das Client Secret ein.

OAuth-App auf Azure als einzelner Mandant konfigurieren
Standardmässig ist die OAuth-App mehrinstanzenfähig. Wenn Sie dies ändern möchten, öffnen Sie den Link https://portal.azure.com/, navigieren nach Microsoft Entra ID > App-Registrierungen und zeigen Sie OAuth-App an. Anschliessend klicken Sie auf Mehrere Organisationen und wählen bei Unterstützte Kontotypen die Option Nur Konten in diesem Organisationsverzeichnis (einzelner Mandant). Öffnen Sie die Übersicht und kopieren Sie die Verzeichnis-ID (Mandant).
Legen Sie Systemparameter mit Schlüssel microsoft_outlook.endpoint und Wert https://login.microsoftonline.com/$TENANT_ID/oauth2/v2.0 an. Wobei TENANT_ID gleich Verzeichnis-ID (Mandant) ist.
Wenn Sie die Outlook OAuth-Verbindung einrichten, wird nun die Mandanten-ID verwendet.
Microsoft OAuth-Endpunkte für einzelne Mandanten festlegen
Wenn Sie die OAuth-App als einzelner Mandant verwenden, müssen Sie die OAuth-Endpunkte in Odoo anpassen.
Öffnen Sie den Link https://portal.azure.com/, navigieren nach Microsoft Entra ID > App-Registrierungen und zeigen Sie OAuth-App an. Öffnen Sie die Übersicht und klicken Sie auf Endpunkte. Notieren Sie sich die Werte aus OAuth 2.0-Autorisierungsendpunkt (v2) und OAuth 2.0-Token-Endpunkt (v2).

Für diese Werte müssen Sie in Odoo zwei Systemparameter anlegen:
- Schlüssel
microsoft_account.auth_endpointmit Werthttps://login.microsoftonline.com/$TENANT_ID/oauth2/v2.0/authorize - Schlüssel
microsoft_account.token_endpointmit Werthttps://login.microsoftonline.com/$TENANT_ID/oauth2/v2.0/token
Verwendung
Outlook OAuth-Verbindung einrichten
Tips
Wir empfehlen Produkte von Infomaniak E-Mail-Hosting anstatt Outlook zu verwenden.
Damit Odoo eine Outlook OAuth-Verbindung aufnehmen kann, muss auf dem Microsoft 365 Benutzer die SMTP-Authentisierung erlaubt sein. Stellen Sie sicher, dass die folgenden Anweisungen ausgeführt wurden: https://learn.microsoft.com/en-us/exchange/clients-and-mobile-in-exchange-online/authenticated-client-smtp-submission#use-the-microsoft-365-admin-center-to-enable-or-disable-smtp-auth-on-specific-mailboxes
Navigieren Sie nach Einstellungen > Technisch > Eingehender Mail-Server. Markieren Sie den Eintrag Outlook auf dem Mail-Server. Klicken Sie auf Connect your Outlook account und loggen Sie sich mit dem Postfach-Benutzer ein.

Warnung
Damit eine Verbindung mit Outlook aufbaut werden kann, müsssen Sie Odoo als OAuth-App auf Azure registrieren.
Azure OAuth-App Client-Secret neu erstellen
Wenn ihr Client-Secret abgelaufen ist, können Sie einfach ein Neue erstellen. Loggen Sie sich auf https://portal.azure.com/ ein in das Azure-Portal zu gelangen. Navigieren Sie nach Microsoft Entra ID > App-Registrierungen und rufen Sie die Odoo OAuth-App auf.
Klicken anschliessend auf Ein Zertifikat oder Geheimnis hinzufügen. Erstellen Sie diesen Eintrag.

Kopieren Sie das Feld Wert, es handelt sich hierbei um das Client Secret.

Warnung
Die Geheime-ID des Schlüssels benötigen Sie nicht. Es handelt sich hier nicht um die Client ID.
Öffnen Sie jetzt Odoo und navigieren Sie nach Einstellungen > Dialog > Outlook Credentials. Überschreiben Sie das bestehende Client Secret.
OAuth-Token regenerieren
Navigieren Sie nach Einstellungen > Technisch > Eingehender Mail-Server oder Einstellungen > Technisch > Ausgehender Mail-Server. Öffnen Sie einen Eintrag mit einer OAuth-Verbindung. Klicken Sie auf Edit settings. Der OAuth-Authorisierungsflow wird gestartet. Loggen Sie sich mit dem Postfach-Benutzer ein. Anschliessend werden Sie wieder nach Odoo zurückgeführt. Damit wurden das OAuth-Token regeneriert.
Warnung
Wenn Sie bei den Microsoft-Diensten bereits eingeloggt sind, müssen Sie diesen Vorgang entweder in einem privaten Browser-Tab ausführen oder Sie müssen sich bei den Microsoft-Diensten via https://login.microsoftonline.com ausloggen.
OAuth Benutzername festlegen
Wurde ein OAuth Provider konfiguriert, kann jedem Odoo Benutzer ein bestimmer OAuth Benutzername hinterlegt werden. Führen Sie diese Aktionen aus Einstellungen > Benutzer und Unternehmen > Benutzer > Benutzer wählen > Tab OAuth öffnen. Im Feld OAuth User ID können Sie den Benutzernamen für das Login festlegen.

Mit Google-Account anmelden
Wählen Sie im Login-Fenster die Option Log in with Google. Sie werden nun zur Google-Anmeldemaske umgeleitet. Melden Sie sich mit dem Google-Acccount an und erlauben Sie den Zugriff von Odoo. Sie werden nun zurückgeleitet.
Falls ihr Benutzer in Odoo noch nicht existiert hat, erscheint die folgende Meldung:

Kontaktieren Sie den/die AdministratorIn und bitten Sie um eine Freigabe. Wurde die Freigabe erstellt, loggen Sie sich erneut ein.
Troubleshooting
Connection unexpectedly closed
Problem
Ausgehende E-Mail Server ist eingerichtet und der Token ist bestätigt. Trotzdem ist der Test negativ mit folgende Meldung:
Ungültiger Vorgang
Der Server hat die Verbindung unerwartet geschlossen. Überprüfen Sie die Konfiguration für die Portnummer.
Connection unexpectedly closedUrsache
Einstellungen in portal.azure.com sind nicht richtig.
Lösung
Für der User müsste noch 'authenticated SMTP' erlaubt werden. Sehe Bild:

Need admin approval
**Problem
Beim Login mit dem OAuth-Benutzer erscheint die Meldung:
Need admin approval
Odoo
unverified
Odoo needs permission to access resources in your organization that only an admin can grant. Please ask an admin to grant permission to this app before you can use it.
Have an admin account? Sign in with that account
Return to the application without granting consentLösung
Stellen Sie sicher, dass der OAuth-Bentuzer Zugriff auf die OAuth-App hat.