OBS/CloudConnect/oAuth2

Aus OBS Wiki
Zur Navigation springen Zur Suche springen
HINWEIS: Bitte beachten sie dass für den Betrieb der Schnittstelle der Cloud-Dienst in OBS aktiviert sein muss.


Allgemein

OAuth 2.0 (Open Authorization) ist der Name eines offenen Protokolls, das eine standardisierte, sichere API-Autorisierung für Desktop-, Web- und Mobile-Anwendungen erlaubt. Ein Endbenutzer kann mit Hilfe dieses Protokolls einer Anwendung den Zugriff auf seine Daten erlauben (z.B.: E-Mails), die von einem anderen Dienst (z.B.: Office365) bereitgestellt werden, ohne geheime Details seiner Zugangsberechtigung (Authentifizierung) der Anwendung preiszugeben.

ACHTUNG: POP3 wird erst mit der Version vom 02.11.2022 unterstützt

Voraussetzungen

Für das aktivieren der Authentifizierung muss die jeweilige API des Providers (z.B.: Microsoft oder Google) aktiviert werden. Zusätzlich muss für OBS eine Anwendungs-ID und eine Geheime-ID generiert werden. Auch kann es nötig sein weitere Einstellungen für die API zu aktivieren (z.B.: Authentifiziertes SMTP bei Exchange)

Im Folgenden ist dies für Google und Microsoft beschrieben.

Microsoft konfigurieren

OAuth AppID.png

App-Registrierungen

  • unter https://aad.portal.azure.com/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/Overview klicken Sie im Menu auf "App-Registrierung"
  • "+ Neue Registrierung"
    • Microsoft AppPlus.png
  • Es ist wichtig, die Anwendung als "mehrinstanzenfähig" (Multi-Tanend) zu erzeugen, da die Standard Endpunkte von OSB auf https://login.microsoftonline.com/common/ laufen.
    • Wollen Sie statt "common" Ihre eigene Domaine nutzen ("einzelner Mandant"), müssen Sie die Endpunkte in OBS entsprechend anpassen (Definitionen).
    • Die passenden Endpunkte können dann wie folgt aussehen: https://login.microsoftonline.com/BERGAU.de/
  • in der Übersicht der neuen Registrierung finden Sie nun die Anwendungs-ID(Client)
    • Microsoft AppOverview.png
  • Unter Umleitungs-URIs (Antwort-URL) müssen Sie eine Umleitung auf http://localhost:2132/ einrichten. Dies ist wichtig für die Kommunikation mit OBS während des Authentifizierungsprozesses.
    • Klicken Sie dazu auf die Umleitungs-URI und dann auf "+Plattform hinzufügen"
      ACHTUNG: Der Typ muss Mobilgerät- und Desktopanwendungen sein!
    • Microsoft AppUri.png
    • Nach erfolgreichen speichern, kehren Sie durch einen Klick auf Übersicht zur Übersicht zurück
  • Die Anwendungs-ID-URI muss festgelegt werden. Standard Wert kann beibehalten werden.
    • Microsoft IDURI.png
    • Nach erfolgreichen speichern, kehren Sie durch einen Klick auf Übersicht zur Übersicht zurück

API-Berechtigungen

es sind keine speziellen Berechtigungen nötig. OBS fragt die nötigen Berechtigungen bei der Authentifizierung ab. Diese werden dann vom jeweiligen Benutzer bestätigt.

Zertifikate & Geheimnisse

OAuth AppID geheim.png

Über einen Klick auf "+ Neuen geheimen Clientschlüssel" erhalten Sie ein können Sie einen neuen Schlüssel mit Namen und Gültigkeit definieren.

Mit der daraus erhaltenen "Geheimen ID" (App Secret ID) und der Anwendungs-ID (App ID) (in der Übersicht zu finden) können Sie die Einrichtung in OBS vornehmen.

Einrichtung Email-Konto OBS

ACHTUNG: Für jeden Zugang (z.B.: E-Mail-Konto) muss eine eigene oAuth2 Authentifizierung freigeschaltet werden (Cloud-Connect). Dabei kann der API-Key aber mehrfach verwendet werden, wenn die Zugänge über ein Hauptkonto verwaltet werden (Bei Microsoft ist dies über ein Organisationskonto geregelt)
ACHTUNG: Ein Cloud-Connect bei dem Sie sich mit Info@test.de angemeldet haben, können Sie nicht für das E-Mail-Konto für obs@test.de nutzen, da für jeden Benutzer ein Benutzerdefinierter Schlüssel (Token) generiert wird, der für die Anmeldung genutzt wird!

Beispiel zur Einrichtung eines Microsoft E-Mail-Kontos

  1. API-Key aktivieren und ID bekommen (Anleitung Microsoft:in OBS/CloudConnect/oAuth2#Microsoft_konfigurieren)
  2. in der OBS Liste Cloud Connect können Sie die oAuth2 Definitionen hinzufügen
    1. Dabei wählen Sie bei Cloud Typ den entsprechenden oAuth2 Typen aus. Weitere Infos im Abschnitt Definitionen
    2. OAuth2 Cloud Edit.png
  3. Authentifizieren und Zugangstoken erhalten
    1. Beim speichern der Daten werden die Daten geprüft und Ihr Standard Browser öffnet sich. Hier werden Sie aufgefordert sich anzumelden und den oAuth2-Zugang zu genehmigen.
    2. Nachträglich kann dies in der Eingabemaske mit F10 gemacht werden.
    3. OAuth Idle.png
    4. OAuth AppLogin.png
  4. Nun können Sie den Zugang in E-Mail-Konto hinterlegen
    1. OAuth mail.png

Definitionen

Bei der Einrichtung von oAuth2 sind bestimmte Daten notwendig, damit der korrekte Authentifikations-Dienst der jeweiligen Organisation (Google, Microsoft) angesprochen werden kann.

Diese sind über F10 erreichbar.

HINWEIS: Hier sind auch andere Cloud-Typen zu finden. Die oAuth2 Typen sind vom Typ ctOAuth2

Dazu zählen folgende Daten, welche im Netz zu finden sind:

  • Authorisations Endpunkt
  • Token Endpoint
  • Scope und weitere Daten

OAuth Def.png

Diese werden von seitens OBS bereit gestellt. Sollte mal ein Anbieter nicht verfügbar sein, können Sie diese Daten manuell nach erfassen und nutzen.

ACHTUNG: die von OBS erstellten Einträge werden beim Update mit unseren Standard Werten überschrieben. Bitte bei Änderungen neue Einträge erstellen oder vorhandene mit F6 kopieren.

mehrinstanzenfähig (Multi-tannend)

Da wir im Standard die Endpunkte /common/ nutzen, müssen die erstelten Anwendungen in der API mehrinstanzenfähig sein. Wenn Sie eine Anwendung nur für Ihre Domäne erstellen wollen (einzelner Mandant), dann müssen Sie eine entsprechend neue Definition erstellen (oder mit F6 die vorhandene Definition kopieren) und den Part /common/ durch Ihre Domäne ersetzen (Beispiel: /bergau.de/)

Bekannte Probleme

Imap Ordner können nicht eingelesen werden

Falsches Konto

Wenn Sie diese Meldung beim Testen eines E-Mail-Kontos bekommen, haben Sie mit dem Cloud-Connect keine berechtigungen die Ordner Struktur des Kontos zu lesen.

Dies kann passieren, wenn der Cloud-Connect nicht zum E-Mail Konto passt.

Cloud-Connect für admin@test.de

E-Mail Konto für abrechnung@test.de

Fehlende Berechtigungen

Es kann auch sein, dass IMAP für das entsprechende Konto deaktiviert ist. Dieses muss über den Domänen-Administrator aktiviert werden.