OpenID 2.0

Sie können die EGOCMS Authentifizierung mit einem OpenID Dienst verknüpfen. Die Authentifizierung erfolgt dann über diesen Dienst (OAuth) und wird bei Erfolg an das EGOCMS weitergereicht.

Vorbereitung

Im EGOCMS muss ein Benutzer oauth existieren. Dieser wird als Vorlage für Benutzer verwendet, die erfolgreich beim OpenID Dienst authentifiziert wurden, aber noch im EGOCMS angelegt werden müssen. Setzen Sie für diesen oauth Benutzer die Berechtigungen und Optionen, die Sie mindestens benötigen.

Wenn ein neuer EGOCMS Benutzer angelegt wird, wird für die Kopie der Benutzername mit der E-Mail Adresse (Feld email) aus den erhaltenen Informationen des Dienstes geändert. Falls der Dienst auch Informationen zum Namen zurück liefert (Feld name), wird auch der Vor- und Nachname gesetzt.

warning

Über OpenID am EGOCMS angemeldete Benutzer existieren somit als Benutzer mit einer E-Mail Adresse als Benutzername. E-Mails müssen demnach eindeutig sein.

Typen

Das EGOCMS bietet Vorlagen für OpenID Dienste wie Gitlab, Google oder Keycloak an. Wenn Sie einen von diesen Diensten verwenden, benötigen Sie folgende Einstellungen:

  • URL: Die URL zum Endpunkt (wird für Google automatisch gesetzt). Setzen Sie hier nur den Pfad, der für alle Endpunkte der selbe ist. Diese Endpunkte sind:
    • Authenifizierung (Auth)
    • Token
    • Benutzer (UserInfo)
  • Anwendungs-ID (Client-ID): Die Anwendungs-ID des Dienstes.
  • Secret: Der Secret des Dienstes.

Individuell

Falls Sie einen anderen OpenID Dienst verwenden, können Sie als Typ Individuell auswählen. Neben den bereits genannten Feldern müssen Sie nun auch die Endpunkte Authentifizierung, Token und Benutzer definieren.

wb_incandescent

Als Endpunkte geben Sie die Pfade an, die an der eingetragenen URL angehängt werden.

Parameter

Der OpenID Standard legt fest, welche Parameter die Endpunkte erhalten. Für die Endpunkte Authentifizierung und Token können Sie diese Parameter einstellen. Sollte Ihr Dienst andere oder weitere Parameter erwarten, können Sie diese ebenfalls einstellen.

Bei der Definition eines Parameters müssen Sie einen Schlüssel, Typ und ggf. einen Wert angeben. Manche Typen setzen den Wert auch automatisch. Das sind:

  • Anwendungs-ID: Die Client-ID.
  • Secret: Der eingestellte Secret.
  • Eindeutige Kennung: Ein eindeutiger, zufälliger Hash.
  • URL Weiterleitung: Die URL, zu der der Dienst weiterleiten soll.
check

Verwenden Sie den Typ URL Parameter um einen in der URL erhaltenen Parameter weiterzureichen.

wb_incandescent

Die folgenden Endpunkt Beispiele gehen vom OpenID Standard aus.

Endpunkt: Authentifizierung

Im OpenID Standard werden folgende Parameter erwartet:

  • client_id: Anwendungs-ID
  • redirect_uri: URL Weiterleitung
  • response_type: code (Typ Individuell)

Endpunkt: Token

Im OpenID Standard werden folgende Parameter erwartet:

  • client_id: Anwendungs-ID
  • client_secret: Secret
  • grant_type: authorization_code (Typ Individuell)
  • code: code (Typ URL Parameter)
  • redirect_uri: URL Weiterleitung

Endpunkt: Benutzer

Für diesen Endpunkt gibt es keine zu überreichenden Parameter. Die Authentifizierung ist hier bereits erfolgt und die Benutzer Informationen werden ermittelt.

Whitelist

Optional können Sie Domains für E-Mail Adressen angeben, die sich anmelden dürfen. Wird die Whitelist nicht ausgefüllt, dürfen sich alle Domains anmelden.