OAuth2 Authentifizierung: Unterschied zwischen den Versionen

Aus MoodleDocs
Wechseln zu:Navigation, Suche
Keine Bearbeitungszusammenfassung
Zeile 6: Zeile 6:
Die folgende Abbildung zeigt, wie die OAth2-Authentifizierung im Kontext von Moodle funktioniert:
Die folgende Abbildung zeigt, wie die OAth2-Authentifizierung im Kontext von Moodle funktioniert:
[[File:OAuth - Service Provider Authentication.png|border|center|frameless|600x600px]]
[[File:OAuth - Service Provider Authentication.png|border|center|frameless|600x600px]]


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.
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.

Version vom 2. August 2023, 09:44 Uhr

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. The authorisation server issues an authorisation code if the entered credentials are valid. Once this has taken place, the user is authenticated with Moodle. If account creation is enabled (the Prevent account creation when authenticating setting), a new account will be created. Otherwise, the user will be prompted to link the authorisation to an existing account with the same email address. An entry can be found in the Linked logins section in the user’s preferences.
  3. An access token will be issued when the user logs in using the stored authorisation code. A scheduled task exists to regularly update the OAuth 2 tokens (\core\oauth2\refresh_ system_tokens_task).
  4. Moodle uses this access token for any internal services that require a resource from the service provider, for instance, a link to files in a repository. Some internal services require a system account to be connected.

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 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