Einrichtung einer OAuth-App

Richten Sie ein neues Gmail-/G-Suite-Konto ein? Auf Grund von Googles Sicherheitsmaßnahmen ist die Eingabe eines Benutzernamens und eines Passworts nicht ausreichend.

Als erstes müssen Sie Zammad als OAuth-App mit Ihrem Google-Konto in den Google Entwickler Einstellungen verbinden. Sobald das erfolgt ist, können Sie über eine aktive Browser-Session beliebig viele Gmail-Konten zu Zammad hinzufügen (kein Benutzername und Passwort notwendig).

Bemerkung

🤔 Was bitte ist OAuth?

Wenn Sie sich bereits bei einem Dienst mit „Login über Google/Facebook/Twitter“ angemeldet haben, haben Sie OAuth bereits verwendet. OAuth ist ein Verfahren, bei dem externe Dienste nur auf einen kleinen Teil der Daten Ihres Google/Facebook/Twitter Kontos zugreifen können, ohne das Passwort preiszugeben (wodurch sie Zugriff auf alles hätten).

Screenshot einer Website mit verschiedenen OAuth-Login-Optionen

Wenn ein Dienst OAuth benutzen möchte, muss dieser zuerst beim Provider eingerichtet werden (z.B. Google). Dadurch weiß der Provider, wer auf die Benutzer-Daten zugreift und der Benutzer kann im Zweifelsfall den Zugriff entziehen.

In diesem Fall ist Zammad der externe Dienst. Deshalb ist das hinzufügen eines Google-Kontos ein zweistufiger Prozess: als erstes müssen Sie Zammad als Dienst bei Google einrichten, der auf Daten zugreifen möchte. Anschließend müssen Sie sich als Google-Benutzer hinzufügen, der Zammad den Abruf von E-Mails erlaubt.

Schritt für Schritt

Um zu starten, öffnen Sie die Google Entwickler Einstellungen.

  1. Erstellen Sie ein neues Projekt

    In dieser Anleitung ist ein „Projekt“ und eine OAuth-App gleichbedeutend.

    Screencast Demo Erstellung eines neuen Projekts in den Google Entwickler Einstellungen
  2. Aktivieren & Hinzufügen der Gmail API

    Verwenden Sie den ➕ Enable APIs and Services Button, um die Suche zu starten.

    Screencast Demo Aktivierung der Gmail API in Google Entwickler Einstellungen
  3. Einrichtung des OAuth Bestätigungs-Dialogs

    Konfigurieren Sie, wer die App nutzen kann, auf welche Daten zugegriffen werden können soll und einige weitere Detail-Einstellungen (wie z.B. ein Link zur Datenschutzerklärung Ihres Zammads).

    Diese Information wird beim Verbinden eines Gmail-Kontos mit Zammad angezeigt, sobald die Benutzer zu Google für den Login bzw. die Bestätigung weitergeleitet werden.

    Screencast Demo OAuth Bestätigungs-Dialog in den Google Entwickler Einstellungen
    Benuter-Typ

    Diese Option ist nur bei Nutzer der G-Suite vorhanden.

    Falls Sie die Option haben, wählen Sie internal (sofern Sie keine Kanäle für Gmail-Adressen von außerhalb Ihrer Domain hinzufügen wollen).

    Scopes für Google APIs

    Fügen Sie Gmail API: https://mail.google.com hinzu.

  4. OAuth Berechtigung erstellen

    Klicken Sie auf ➕ Create credentials > OAuth client ID um zu beginnen.

    Screencast Demo OAuth-App-Erstellung in den Google Entwickler Einstellungen
    Application type

    Wählen Sie Web application.

    Authorized redirect URIs

    Z.B. https://ihre-domain.com/api/v1/external_credentials/google/callback

    Sie finden diese in den Admin-Einstellungen unter Kanäle > Google App verbinden > Ihre Callback URL.

  5. Verbinden Ihrer Google-App mit Zammad

    Kopieren Sie die OAuth-Zugangsdaten (client ID und client secret) und fügen diese in Zammad in den Admin-Einstellungen unter Kanäle > Google > Google-App verbinden ein.

    Screencast Demo Eingabe Gmail OAuth-Zugangsdaten in den Zammad Admin-Einstellungen

🍾 Glückwunsch! Nun können Sie Gmail-Konten mit Zammad verbinden.

Fehlerbehebung

Mein OAuth-Zugang funktioniert plötzlich nicht mehr

Haben Sie kürzlich Ihr Google-Passwort geändert?

(Google deaktiviert alle OAuth-Tokens beim Ändern des Passworts. Erstellen Sie diese erneut, siehe Schritt 4 und 5.)