Google-Anmeldung in Discourse konfigurieren in Discourse

Dieser Artikel zeigt, wie die Registrierung in Discourse so konfiguriert wird, dass eine Anmeldung über Google OAuth2 möglich ist.

Konfiguration der Google Cloud Console

Rufen Sie https://console.developers.google.com auf und klicken Sie oben links auf Projekt auswählen (Select a project).

image

Neues Projekt

Klicken Sie oben rechts auf Neues Projekt (New Project).

Projektdaten eingeben

Geben Sie im Feld Projektname (Project Name) den Namen Ihres Projekts ein. Sie können auch die Projekt-ID (Project ID) bearbeiten.

Die Bearbeitung der Projekt-ID ist optional. Klicken Sie anschließend auf Erstellen (Create).

Dieser Vorgang kann einige Zeit in Anspruch nehmen, bitte haben Sie also etwas Geduld.

Fehler beim Erstellen

Während des Erstellungsprozesses kann es zu Fehlern kommen.
In diesem Fall können Sie den Fehler ignorieren und die Seite mit Strg+F5 neu laden.

Einreichung zur Verifizierung

Befolgen Sie die Anweisungen unter https://support.google.com/cloud/answer/9110914#submit-app-ver, um Ihr Projekt zur Verifizierung an die Google Cloud Platform einzureichen.

Externe Anwendung erstellen

Wählen Sie in Ihrem Projekt den Namen des aktuellen Projekts aus. Klicken Sie im linken Kontrollbereich auf das Menü OAuth consent screen und wählen Sie External. Klicken Sie dann auf die Schaltfläche Create.

Alle Daten ausfüllen

Wir empfehlen, alle Daten vollständig auszufüllen, bevor Sie auf die Schaltfläche Save klicken, um zu speichern.

In diesem Beispiel gehen wir davon aus, dass Ihre Domain https://demo.site.com lautet. Stellen Sie sicher, dass die von Ihnen eingegebene URL mit dem Protokoll https oder http beginnt.

:information_source: Ab dem 13. September 2021 verlangt Google, dass alle Websites, die auf Google-Dienste zugreifen, HTTPS verwenden.

Sie müssen das Anwendungslogo (Application logo) nicht ändern, können aber auch Ihr eigenes Logo hochladen. Anschließend wird die Website von Google verifiziert.

Zugangsdaten (Credentials)

Anschließend müssen Sie Zugangsdaten erstellen. Wechseln Sie zum Reiter Credentials auf der linken Seite, klicken Sie auf die Schaltfläche + CREATE CREDENTIALS und wählen Sie OAuth client ID aus, um diese zu erstellen.

Typ auswählen

Wählen Sie in der folgenden Ansicht bei Application Type als Berechtigungstyp Web application aus.

Fügen Sie im Bereich Authorized JavaScript Origins die URL Ihrer Website hinzu. Beachten Sie, dass diese URL mit http:// oder https:// beginnen muss.

Im Abschnitt Authorized Redirect URI müssen Sie an die zuvor eingegebene URL /auth/google_oauth2/callback anhängen.

Klicken Sie dann auf die Schaltfläche Create, um die Erstellung abzuschließen.

:information_source: Beachten Sie, dass Google ab dem 13. September 2021 verlangt, dass alle Websites, die auf Google-Dienste zugreifen, HTTPS verwenden. Ihre Discourse-Website sollte daher so weit wie möglich HTTPS verwenden.

Schlüsselpaar erhalten

Im Dialogfeld des OAuth-Clients werden die Client-ID und das Geheimnis (Secret) angezeigt.

Schlüsselpaar anzeigen (optional)

Dieser Schritt ist optional. Klicken Sie in Ihrem Projekt auf die Option Credentials, um die OAuth-Schlüssel zum Bearbeiten oder Löschen zu finden.

Discourse-Konfiguration

In Ihrer Discourse-Konfiguration aktivieren Sie enable google oauth2 logins und geben die in den vorherigen Schritten erhaltene google oauth2 client id und google oauth2 client secret ein.

Geben Sie die oben genannten Schlüssel in das entsprechende Konfigurationsfeld ein.

Damit sollte die Konfiguration der Google-Anmeldung abgeschlossen sein.

Sie können dies über das Frontend von Discourse testen.

Tipps

Für die Konfiguration der GSuite-Anmeldung verwenden Sie den Konfigurationsparameter google oauth2 hd. Weitere Informationen finden Sie hier.

Das ID-Token wird von Discourse verifiziert. Der oben genannte Link führt zum Quellcode von Discourse für diese Verifizierung.

Weitere Informationen finden Sie im Originalartikel unter iSharkFly - 飞鲨.

Vielen Dank an das offizielle Team für die Unterstützung.

1 „Gefällt mir“