OAuth2 Authentifizierung

Aus MoodleDocs
Wechseln zu:Navigation, Suche

Baustelle.png Diese Seite muss überarbeitet werden. Greif zu!
Wenn du dich um diesen Artikel kümmern willst, dann kennzeichne das, indem du die Vorlage {{Überarbeiten}} durch die Vorlage {{ÜberarbeitenVergeben}} ersetzt.
Wenn du mit deiner Arbeit fertig bist, dann entferne die Vorlage aus dem Artikel.
Danke für deine Mitarbeit!


Überblick

OAuth 2.0 ist das Standardprotokoll für die Nutzerautorisierung. Die OAuth2 Authentifizierung ermöglicht es Nutzer/innen, sich auf der Login-Seite von Moodle über Buttons anzumelden und dabei die Anmeldedaten ihres Nutzerkontos bei Google, Facebook, Microsoft oder anderen Providern zu verwenden.

Die folgende Abbildung zeigt, wie die OAth2-Authentifizierung im Kontext von Moodle funktioniert:

OAuth - Service Provider Authentication.png


Ein OAuth Service Provider ist ein externes System ("in der Cloud"), das Nutzer/innen authentifiziert, indem es OAuth Zugriffs-Tokens für einen Client (hier: Moodle) ausstellt.

Gehen wir die einzelnen Schritte von oben nach unten durch:

  1. Eine Person sendet eine Autorisierungsanfrage, d.h. sie meldet sich über den Client beim Service Provider an. Dieser Schritt wird über Buttons auf der Moodle-Login-Seite initiiert.
  2. Der Autorisierungs-Server stellt einen Autorisierungscode bereit, wenn die eingegeben Anmeldedaten korrekt sind. Sobald das geschehen ist, wird die Person in Moodle authentifiziert. 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.
  3. Wenn die Person sich mit Hilfe des Autorisierungscodes anmeldet, wird ein Zugriffs-Token bereitgestellt. Es gibt einen geplanten Vorgang \core\oauth2\refresh_ system_tokens_task, der die OAuth2 Tokens regelmäßig aktualisiert.
  4. Moodle verwendet das Zugriffs-Token für jeden internen Dienst, der ein Material vom Service-Provider benötigt, z.B. ein Link zu Dateien in einem Repository. Manche internen Dienste erfordern, dass ein System-Account verknüpft ist.

OAuth2-Authentifizierung konfigurieren

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.

Bei Bedarf entfernen Sie das Häkchen aus der Checkbox E-Mail-Bestätigung notwendig. Dann wird keine Bestätigungs-E-Mail versendet. Das ist nützlich für Institutionen, die Google als Domain verwenden, denn der Google OAuth 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.

Siehe auch