OAuth2 Authentifizierung
Ü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:
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 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 konfigurieren
Um die OAuth2 Authentifizierung nutzen zu können, muss die Moodle-Administration folgendes tun:
- OAuth2 Services erstellen: Gehen Sie dazu auf die Seite Website-Administration > Server > OAuth 2 Services und folgenden Sie den Anweisungen im Artikel OAuth2 Services.
- Aktivieren Sie die OAuth2 Authentifizierung: Gehen Sie auf die Seite Website-Administration > Plugins > Authentifizierung > Übersicht und aktivieren Sie das Plugin OAuth 2.
- 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.
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: Open Badges 2.1
- Mail: Eingehende und ausgehende E-Mail-Konfiguration
- Dokumentenkonvertierer: Google Drive Konverter