OAuth2 Authentifizierung

Wechseln zu: Navigation, Suche


In Moodle mit Nutzerdaten eines externen Anbieters anmelden

Das Plugin OAuth2 Authentifizierung erlaubt es Nutzer/innen, sich über entsprechende Buttons mit ihren Login-Daten eines externen Anbieters (z.B. Google, Microsoft und/oder Facebook) in Moodle anzumelden.

integration.png

Wenn die Erstellung von Nutzerkonten aktiviert ist, dann wird bei der Erstanmeldung einer Person ein neues Nutzerkonto erstellt. Wenn die Erstellung von Nutzerkonten nicht aktiviert ist, wird die Person auf eine Seite weitergeleitet, auf der sie ihr externes Nutzerkonto verknüpfen können unter Verwendung derselben E-Mail-Adresse.

OAuth2 Authentifizierung aktivieren

Als erstes müssen Sie als Moodle-Administrator/in einen OAuth2 Service erstellen:

  • Gehen Sie dazu auf die Seite Website-Administration > Server > OAuth 2 Services und klicken Sie auf den entsprechenden Button, um einen neuen Google/Microsoft/Facebook/eigenen Service anzulegen.
  • Folgen Sie der Anleitung in den Artikeln OAuth2 Google Service, OAuth2 Microsoft Service oder OAuth2 Facebook Service und beschaffen Sie sich eine Client ID und ein Secret.
  • Tragen Sie die Client ID und das Secret in den Felder Client ID bzw. Client Kennwort ein.

Neue Funktionalität
in Moodle 3.4!
Bei Bedarf entfernen Sie das Häkchen aus der Checkbox E-Mail-Bestätigung notwendig entfernen. Dann wird keine Bestätigungs-E-Mail versendet. Das ist nützlich für Institutionen, die Google als Domain verwenden, den der Google OAith Provider kann in diesem Fall als vertrauenswürdig eingestuft werden.

Sie können auf diese Weise mehrere Services für verschiedene externe Anbieter erstellen.

Als nächstes müssen Sie das Authentifizierungs-Plugin aktivieren und konfigurieren:

  • Gehen Sie dazu auf die Seite Website-Administration > Plugins > Authentifizierung > Übersicht und aktivieren Sie das Plugin OAuth 2.
  • Optional können Sie in den OAuth 2 Einstellungen festlegen, welche Nutzerdatenfelder gesperrt werden sollen. Speichern Sie diese Änderungen.

Das Anlegen neuer Nutzerkonten verhindern

wenn Sie nicht möchten, dass beim Anmelden über den OAuth 2 Service ein neues Moodle-Nutzerkonto angelegt wird, dann

  • Gehen Sie auf die Seite Website-Administration > Plugins > Authentifizierung > Übersicht.
  • Markieren Sie die Checkbox Accounterstellung während Authentifizierung verhindern (authpreventaccountcreation).
  • Klicken Sie unten auf den Button Änderungen sichern.

Fehlerbehandlung / FAQ

Auf der Seite OAuth 2 Services steht ein rotes Kreuz in der Spalte Login erlauben.

Stellen Sie sicher, dass auf der Einstellungsseite des entsprechenden Services (Klick auf Bearbeiten-Symbol edit.gif) ganz unten die Checkbox Auf der Login-Seite anzeigen markiert ist. Nach dem Speichern sollte in der Spalte Logins erlauben ein grünes Häkchen erscheinen.

Ich erhalte eine Coding error Fehlermeldung, nachdem ich die OAuth2 Authentifizierung aktiviert habe.

Haben Sie zu einem früheren Zeitpunkt bereits ein (älteres) OAuth2-Plugins installiert? Wenn das der Fall ist, müssen Sie dieses alte deinstallieren. danach können Sie das neue OAuth2 Plugin (das nun zum Standardpaket von Moodle gehört) aktivieren und verwenden.

Ich erhalte eine Fehlermeldung beim Versuch, mich mit meinem Facebook-Account anzumelden

Die Fehlermeldung lautet Die zurückgelieferte Nutzerinformation enthielt keinen Nutzernamen und keine E-Mail-Adresse. Der OAuth 2 Service ist möglicherweise falsch konfiguriert. Am wahrscheinlichsten ist der Grund für diese Fehlermeldung, dass Ihr Facebook-Konto unter Verwendung einer mobilen Telefonnummer angelegt wurde. In diesem Fall müssen Sie sich zunächst direkt bei Facebook anmelden und dort einen Nutzernamen und eine E-Mail-Adresse hinterlegen.

Ich erhalte nach der Anmeldung über einen OAuth 2 Service die Fehlermeldung Notwendiger Parameter fehlt

Diese Fehlermeldung kann durch einen falsch konfigurierten Webserver verursacht sein. OAuth 2 verwendet lange Tokens, die als URL Parameter übergeben werden. Einige Webserver-Konfigurationen verhindern, dass dies funktioniert. Siehe http://www.php.net/manual/en/reserved.variables.get.php#101469 für eine mögliche Lösung.