OAuth2 Authentifizierung: Unterschied zwischen den Versionen

Aus MoodleDocs
Wechseln zu:Navigation, Suche
Keine Bearbeitungszusammenfassung
 
(16 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Authentifizierung}}
{{Authentifizierung}}
{{Neu}}


==In Moodle mit Nutzerdaten eines externen Anbieters anmelden==
==Ü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.


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.
Die folgende Abbildung zeigt, wie die OAth2-Authentifizierung im Kontext von Moodle funktioniert:
[[File:OAuth - Service Provider Authentication.png|border|center|frameless|600x600px]]


[[File:integration.png|600px]]


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 [[Nutzerkonten verknüpfen|Nutzerkonto verknüpfen]] können unter Verwendung derselben E-Mail-Adresse.
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:
# 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.
# 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 [[Nutzerkonten verknüpfen|Nutzerkonto verknüpfen]] können unter Verwendung derselben E-Mail-Adresse.
# 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.
# 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 aktivieren==
==OAuth2-Authentifizierung konfigurieren==
Als erstes müssen Sie als Moodle-Administrator/in einen [[OAuth2 Services|OAuth2 Service]] erstellen:
Um die OAuth2 Authentifizierung nutzen zu können, muss die Moodle-Administration folgendes tun:
* 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.
# [[OAuth2 Services|OAuth2 Services]] erstellen: Gehen Sie dazu auf die Seite ''Website-Administration > Server > OAuth 2 Services'' und folgenden Sie den Anweisungen im Artikel [[OAuth2 Services]].
* 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.  
# Aktivieren Sie die OAuth2 Authentifizierung: Gehen Sie auf die Seite ''Website-Administration > Plugins > Authentifizierung > Übersicht'' und aktivieren Sie das Plugin ''OAuth 2''.
* Tragen Sie die Client ID und das Secret in den Felder ''Client ID'' bzw. ''Client Kennwort'' ein.
# Konfigurieren Sie die gesperrten Nutzerfelder: Um festzulegen, welche Nutzerdatenfelder gesperrt werden sollen, klicken Sie auf ''Einstellungen'' und nehmen Sie Ihre Einstellungen vor.
# Anlegen neuer Nutzerkonten verhindern: Standardmäßig ist das Anlegen neuer Nutzerkonten aktiviert. Wenn Sie nicht möchten, dass beim Anmelden über den OAuth2 Service ein neues Moodle-Nutzerkonto angelegt wird, dann gehen Sie auf die Seite ''Website-Administration > Plugins > Authentifizierung > Übersicht'' und markieren Sie die Checkbox ''Accounterstellung während Authentifizierung verhindern'' (''authpreventaccountcreation'').
# Testen: Um zu prüfen, ob die OAuth2 Authetifizierung funktioniert, gehen Sie auf die Seite ''Website-Administration > Plugins > Authentifizierung > Übersicht'' und klicken Sie auf den Link ''Einstellungen prüfen'' in der OAuth2 Zeile.


Sie können auf diese Weise mehrere Services für verschiedene externe Anbieter erstellen.
OAuth2 Authentifizierung wird von folgenden Moodle-Funktionalitäten unterstützt:
* Repositories: [[Dropbox Repository]], [[Google Drive Repository]], [[OneDrive Repository]] von Microsoft und [[Nextcloud Repository]]
* Portfolios: [[Google Docs Portfolio]]
* Badges: [[Backpacks|Open Badges 2.1]]
* Mail: Eingehende und ausgehende [[Einstellungen für E-Mails|E-Mail-Konfiguration]]
* Dokumentenkonvertierer: [[Google Drive Konverter]]


Als nächstes müssen Sie das Authentifizierungs-Plugin aktivieren und konfigurieren:
==Siehe auch==
* Gehen Sie dazu auf die Seite ''Website-Administration > Plugins > Authentifizierung > Übersicht'' und aktivieren Sie das Plugin ''OAuth 2''.
*[[OAuth2 Fehlerbehandlung]]
* Optional können Sie iun 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''.
 
==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 [[Image: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 [[Plugins installieren#Plugin deinstallieren|deinstallieren]]. danach können Sie das neue OAuth2 Plugin (das nun zum Standardpaket von Moodle gehört) aktivieren und verwenden.


[[Category:OAuth2]]
[[Category:OAuth2]]
[[en:OAuth 2 authentication]]
[[en:OAuth 2 authentication]]

Aktuelle Version vom 9. August 2023, 12:10 Uhr


Ü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

Um die OAuth2 Authentifizierung nutzen zu können, muss die Moodle-Administration folgendes tun:

  1. OAuth2 Services erstellen: Gehen Sie dazu auf die Seite Website-Administration > Server > OAuth 2 Services und folgenden Sie den Anweisungen im Artikel OAuth2 Services.
  2. Aktivieren Sie die OAuth2 Authentifizierung: Gehen Sie auf die Seite Website-Administration > Plugins > Authentifizierung > Übersicht und aktivieren Sie das Plugin OAuth 2.
  3. Konfigurieren Sie die gesperrten Nutzerfelder: Um festzulegen, welche Nutzerdatenfelder gesperrt werden sollen, klicken Sie auf Einstellungen und nehmen Sie Ihre Einstellungen vor.
  4. Anlegen neuer Nutzerkonten verhindern: Standardmäßig ist das Anlegen neuer Nutzerkonten aktiviert. Wenn Sie nicht möchten, dass beim Anmelden über den OAuth2 Service ein neues Moodle-Nutzerkonto angelegt wird, dann gehen Sie auf die Seite Website-Administration > Plugins > Authentifizierung > Übersicht und markieren Sie die Checkbox Accounterstellung während Authentifizierung verhindern (authpreventaccountcreation).
  5. Testen: Um zu prüfen, ob die OAuth2 Authetifizierung funktioniert, gehen Sie auf die Seite Website-Administration > Plugins > Authentifizierung > Übersicht und klicken Sie auf den Link Einstellungen prüfen in der OAuth2 Zeile.

OAuth2 Authentifizierung wird von folgenden Moodle-Funktionalitäten unterstützt:

Siehe auch