raba34
Goto Top

Automatische Anmeldung beim Moodle

Hallo ihr alle,

unsere Bewerber müssen einen Eignungstest in Moodle absolvieren. Dazu stellen wir ihnen vor Ort iPad zur Verfügung. Um ihnen den Zugang so einfach wie möglich zu machen, möchte ich einen individuellen QR-Code erzeugen, der nicht nur direkt zum Test führt (das funktioniert jetzt schon), sondern außerdem noch die Anmeldung vollzieht (das funktioniert noch nicht).

Üblicherweise müssten diese Daten in der Begrüßungsmaske von Moodle vom Bewerber selbst eingetragen werden.

Ist so etwas überhaupt generell möglich? Oder verlangt das detaillierte Kenntnisse der Interna von Moodle?

Meine Grundidee hierzu ist (ohne dass ich momentan überhaupt eine Realisierungsmöglichkeit sehe): der QR-Code führt nicht direkt zu Moodle, sondern zu einem individuellen Skript, das über ein Challenge-Response-Verfahren den Zugang zu Moodle herstellt.

Was meint ihr?

Gruß
Ralph

Content-ID: 1945004952

Url: https://administrator.de/contentid/1945004952

Ausgedruckt am: 22.11.2024 um 08:11 Uhr

Coreknabe
Coreknabe 18.02.2022 um 13:43:56 Uhr
Goto Top
Moin Ralph,

meines Wissens geht das nicht so einfach. Es geht aber, müsste aber gekauft werden:
https://moodle.org/mod/forum/discuss.php?d=376940

Grüße!
stefaan
stefaan 18.02.2022 um 13:45:19 Uhr
Goto Top
Servus,

schau dir einmal die div. Auth-Plugins an (z.B. Sibboleth):
https://github.com/moodle/moodle/tree/master/auth
Je nach vorhandenen Programmierkenntnissen könntest du da eine Anmeldung mit irgendeinem Token, der individuell im QR-Code hinterlegt ist, ermöglichen.
Die Moodle-User für die KandidatInnen kannst du ja vorab anlegen.

Grüße, Stefan
raba34
raba34 18.02.2022 um 13:53:45 Uhr
Goto Top
Zitat von @Coreknabe:

Moin Ralph,

meines Wissens geht das nicht so einfach. Es geht aber, müsste aber gekauft werden:
https://moodle.org/mod/forum/discuss.php?d=376940

Grüße!

Über diese Möglichkeit hatte ich mich schon informiert. Abgesehen davon, dass man es kaufen müsste: Der QR-Code gilt nur für 10 Minuten und führt nicht direkt in den speziellen Kurs, sondern wohl auf das Dashboard. Schon wegen der kurzen Gültigkeit ist dieses Verfahren für uns nicht geeignet.

Ich glaube, der eigentliche Sinn liegt darin, dem persönlichen Besitzer eines iPad über die Moodle Mobile App problemlosen Zugang zu seinem Moodle-Account zu verschaffen. Deshalb muss sich der Benutzer auch erst einmal regulär bei Moodle anmelden, um dann in seinem Profile den QR-Code für die Moodle Mobile App zu scannen.
raba34
raba34 18.02.2022 um 14:24:27 Uhr
Goto Top
Zitat von @stefaan:

Servus,

schau dir einmal die div. Auth-Plugins an (z.B. Sibboleth):
https://github.com/moodle/moodle/tree/master/auth
Je nach vorhandenen Programmierkenntnissen könntest du da eine Anmeldung mit irgendeinem Token, der individuell im QR-Code hinterlegt ist, ermöglichen.
Die Moodle-User für die KandidatInnen kannst du ja vorab anlegen.

Grüße, Stefan

Hallo Stefan,

vielen Dank für deinen Hinweis.

Ich glaube aber, dass meine Programmierkenntnisse zu gering sind, um aus dieser Zusammenstellung etwas Sinnvolles zu machen.

Aber ich übernehme auf jeden Fall deinen Hinweis auf Shibboleth. Da werde ich mich einlesen, obwohl die Beispiele, die ich bisher gefunden habe, auch davon ausgehen, dass man sich einmal mit Benutzernamen und Passwort anmelden muss, nur eben nicht bei der Applikation selber. Und genau diese Anmeldung sollte ja schon im QR-Code stecken.

Gruß
Ralph
stefaan
stefaan 18.02.2022 um 19:19:31 Uhr
Goto Top
Servus,

ich hätte es so gemacht:
Eigenes Auth-Plugin zusammenbauen, das als Parameter einen Usernamen und einen Token erwartet, z.B:
http://deinmoodle.de/auth/qrcodelogin/index.php?user=bewerber1&toke ...
Das Auth-Plugin prüft dann, ob der Username mit einem Hash in der Art hashfunktion("geheimerString" + username + "geheimerString") übereinstimmt. Wenn eine Übereinstimmung gegeben ist, dann verwendest du eine Moodle-interne Login-Funktion und setzt den User auf angemeldet (da gibts sicher eine PHP-Funktion dafür).
Ist jetzt Theorie und ich kenne diesen Teil von Moodle zu wenig, aber bei einer anderen temporären und nur intern verwendeten Plattform habe ich den Login-Prozess so umgeschrieben.
Alle anderen Community-Mitglieder mögen bitte schreien, falls man so in der Anmeldelogik ein Sicherheitsloch aufreißen würde.

Alternativ hilft vielleicht das Anmeldeplugin "auth_basic":
https://moodle.org/plugins/auth_basic
https://github.com/catalyst/moodle-auth_basic

Hier solltest du laut Beispiel von Github über eine URL der Art
https://username:passwort@my.moodle.local/course/view.php?id=123
eine Anmeldung durchführen können und gleich den passenden Kurs mitbestimmen können.
Daraus lässt sich ein QR-Code erstellen.

Die Anmeldung ist dann aber wahrscheinlich nur mehr per auth_basic möglich. Wenn du Moodle nur für den Bewerbungsprozess verwendest, dann sollte das kein Problem sein. Wenn die ganze Firma da dran hängt, ist das eher unschön. Deshalb wohl der Hinweis beim Plugin für "This is more for development and backend purposes".

Wie gesagt, das sind zwei "Hacks", die je nach Umgebung funktionieren könnten face-smile.

Grüße, Stefan
raba34
raba34 19.02.2022 um 09:31:27 Uhr
Goto Top
Zitat von @stefaan:

Servus,

ich hätte es so gemacht:
[.....]

Alternativ hilft vielleicht das Anmeldeplugin "auth_basic":
https://moodle.org/plugins/auth_basic
https://github.com/catalyst/moodle-auth_basic

Hier solltest du laut Beispiel von Github über eine URL der Art
https://username:passwort@my.moodle.local/course/view.php?id=123
eine Anmeldung durchführen können und gleich den passenden Kurs mitbestimmen können.
Daraus lässt sich ein QR-Code erstellen.

Die Anmeldung ist dann aber wahrscheinlich nur mehr per auth_basic möglich. Wenn du Moodle nur für den Bewerbungsprozess verwendest, dann sollte das kein Problem sein. Wenn die ganze Firma da dran hängt, ist das eher unschön. Deshalb wohl der Hinweis beim Plugin für "This is more for development and backend purposes".

Wie gesagt, das sind zwei "Hacks", die je nach Umgebung funktionieren könnten face-smile.

Grüße, Stefan

Hallo Stefan,

vielen Dank für deine interessanten Hinweise. Ich bin ihnen gleich nachgegangen. Dabei ist mir folgendes aufgefallen:

  • Den von dir oben aufgeführten URL https://username:passwort@my.moodle.local/course/view.php?id=123 (ich meine natürlich nur die Form mit username:password) habe ich bei Github nicht gefunden. Wo hast du ihn denn genau gesehen? Das wäre die ideale Lösung.
  • Ich habe die Basis-Auth installiert und einen Benutzer damit problemlos eingerichtet. Leider kann der Benutzer sich nicht anmelden. Muss ich noch mehr machen, als nur dieses Plugin einzurichten und zu aktivieren?

Für den Test habe ich eine gesonderte Moodle-Installation eingerichtet. Sie läuft auf einem virtuellen Server (oder als virtueller Server) und damit kann sich nichts mit anderen Bereichen vermischen.

Gruß
Ralph
stefaan
stefaan 19.02.2022 um 10:41:05 Uhr
Goto Top
Servus!

Zitat von @raba34:
  • Den von dir oben aufgeführten URL https://username:passwort@my.moodle.local/course/view.php?id=123 (ich meine natürlich nur die Form mit username:password) habe ich bei Github nicht gefunden. Wo hast du ihn denn genau gesehen? Das wäre die ideale Lösung.
  • Ich habe die Basis-Auth installiert und einen Benutzer damit problemlos eingerichtet. Leider kann der Benutzer sich nicht anmelden. Muss ich noch mehr machen, als nur dieses Plugin einzurichten und zu aktivieren?

Hast du das Plugin auch aktiviert? Ggf. sind weitere Einstellungen für das Plugin notwendig (in den Website-Einstellungen von Moodle).

Mein Link ist eine Abwandlung vom Curl-Link aus Github. username:password@url ist (oder war, weil "deprecated"? - manche Browser unterstützen dieses Feature wohl nicht mehr) eine Möglichkeit, Zugangsdaten in der URL zu übergeben, alternativ zum Authorization-Header.

Du könntest einmal testen, ob Safari am iPad das Format noch unterstützt, z.B. hier:
http://httpbin.org/basic-auth/foo/bar mit Passworteingabe
http://foo:bar@httpbin.org/basic-auth/foo/bar mit Angabe über URL

Grüße, Stefan
raba34
raba34 19.02.2022 um 13:23:11 Uhr
Goto Top

Du könntest einmal testen, ob Safari am iPad das Format noch unterstützt, z.B. hier:
http://httpbin.org/basic-auth/foo/bar mit Passworteingabe
http://foo:bar@httpbin.org/basic-auth/foo/bar mit Angabe über URL

Grüße, Stefan

Hallo Stefan,

wenn Safari als Standardbrowser eingestellt ist, funktioniert es nicht. Man wird explizit zur Eingabe von Benutzernamen und Passwort aufgefordert.

Stellt man hingegen Chrome als Standardbrowser ein, dann funktioniert es.

Zur Erklärung: ich hatte aus der URL einen QR-Code erzeugt und vom iPad scannen lassen.

Jetzt kommt aber die Enttäuschung: die verwalteten und geteilten iPad müssen ja im Gastmodus betrieben werden. Im Gastmodus erkennt die Kamera aber den QR-Code nicht.

Wenn das das letzte Wort ist, dann kann ich die Idee der Anmeldung mit einem QR-Code wohl versenken.

Aber mal sehen: vielleicht finde ich eine spezialisierte App für die Erkennung des QR-Codes.

Gruß
Ralph
raba34
raba34 19.02.2022 um 15:05:09 Uhr
Goto Top
Hallo Stefan,

ich bin inzwischen einen Schritt weiter. Ich habe mehrere QR-Scan-Apps ausprobiert. Die meisten enthalten enorm viel Werbung. Die App von Kaspersky enthält keine Werbung, aber man muss Nutzungsbedingungen (3 Haken) und "Bestätigen" antippen. Das gilt auch für Chrome und die Frage der Benutzung der Kamera. Normalerweise macht man das nur einmal, aber beim Gast-Account sind nach dem Abmelden alle Informationen verschwunden und der nächste Gast fängt wieder ganz von vorne an.

Ich habe durchgezählt: bis man beim Kurs angekommen ist, muss man zehn - zugegeben einfache - Aktionen ausführen. Ist das schon zu viel für einen aufgeregten Bewerber ohne iPad-Kenntnisse?

Es gab ein weiteres Problem: diese Anmeldung funktioniert nicht mit Safari, sondern nur mit Chrome. Safari ist aber Standardbrowser beim iPad und das lässt sich im Vornherein nicht ändern. Aber mit einem Trick kann man bewirken, dass Chrome statt Safari aufgerufen wird: man muss den URL mit "googlechrome:" statt mit "http://" beginnen bzw. mit "googlechromes:" statt "https://"

Gruß
Ralph
stefaan
stefaan 19.02.2022 um 19:59:20 Uhr
Goto Top
Servus,

wenn das mit dem QR-Code nicht geht und sowieso irgendwo geklickt werden müsste, dann könntest du folgende Lösung probieren:
  • Eine CSV-Datei mit den Testusern anlegen und diese User gleich in den Kurs einschreiben (ebenfalls per CSV). Anmeldenamen und Passwörter können ja einfach, aber komplett zufällig sein. Geht so: https://docs.moodle.org/310/en/Upload_users
  • Per MDM am iPad-Homescreen einen Link direkt auf den Kurs setzen, z.B.: https://meinmoodle.com/course/view.php?id=606
  • Es folgt das Moodle-Anmeldefenster, die User bekommen einen Zettel mit den Anmeldedaten (deswegen einfache Anmeldedaten)
  • Nach erfolgter Anmeldung kommt man direkt in den Kurs.

Geht mit minimaler Interaktion und auch ohne großartige Hacks face-smile

Grüße, Stefan
raba34
raba34 19.02.2022 um 23:32:55 Uhr
Goto Top
Zitat von @stefaan:

Servus,

wenn das mit dem QR-Code nicht geht und sowieso irgendwo geklickt werden müsste, dann könntest du folgende Lösung probieren:
  • Eine CSV-Datei mit den Testusern anlegen und diese User gleich in den Kurs einschreiben (ebenfalls per CSV). Anmeldenamen und Passwörter können ja einfach, aber komplett zufällig sein. Geht so: https://docs.moodle.org/310/en/Upload_users
  • Per MDM am iPad-Homescreen einen Link direkt auf den Kurs setzen, z.B.: https://meinmoodle.com/course/view.php?id=606
  • Es folgt das Moodle-Anmeldefenster, die User bekommen einen Zettel mit den Anmeldedaten (deswegen einfache Anmeldedaten)
  • Nach erfolgter Anmeldung kommt man direkt in den Kurs.

Geht mit minimaler Interaktion und auch ohne großartige Hacks face-smile

Grüße, Stefan

Hallo Stefan,

ja, genau so hatte ich mir das am Anfang auch vorgestellt. Leider kann ich keinen Link auf den Homescreen setzen. Diese Links heißen beim iPad "Web Clips" und lassen sich im MDM JamfSchool auch konfigurieren. Das Profil lässt sich aber nicht den iPad zuweisen. Die Fehlermeldung, die ich auch schon bei Facebook publiziert habe, lautet:

facebook

Was "... on the user channel only." konnte mir niemand sagen. Vermutlich funktioniert es hier nicht, weil die geteilten iPad keinem einzelnen Nutzer zugeordnet sind.

Nochmal zu der anderen Lösung: sie hat den "Charme", dass die Tastatur an keiner Stelle betätigt werden muss. Auch bei den Tests nicht. Sie bestehen vollständig aus MC-Fragen. Es muss nur viel geklickt bzw. getuppt werden und wenn man sich dabei vertuppt (z. B. die Kamera nicht freigibt), dann muss man wahrscheinlich wieder von vorne anfangen.

Gruß
Ralph
stefaan
stefaan 21.02.2022 um 16:58:30 Uhr
Goto Top
Servus,

hm... dann liegt das an wohl an jamf:
https://community.jamf.com/t5/jamf-pro/webclips-on-shared-ipads/m-p/1899 ...
Kann nur für Mosyle sprechen, dort kann ich Links am Homescreen hinterlegen.

Ad QR-Code: Wozu eine eigene App? Die Kamera im iPad sollte doch QR-Codes automatisch erkennen?
Kamera-App öffnen, einen QR-Code aufnehmen und es erscheint die Meldung "http://... in Safari öffnen?".

Grüße, Stefan
raba34
raba34 21.02.2022 um 23:33:15 Uhr
Goto Top
Hallo Stefan,

nein, funktioniert bei verwalteten und/oder geteilten iPad nicht. Es sieht jedenfalls so aus und ein anderer Nutzer hat es mir bestätigt. Wenn man die Kamera auf einen QR-Code richtet, dann erscheint zwar eine gelbe Quadratlinie, die den QR-Code eingrenzt, aber mehr passiert nicht.

Apple hat für verwaltete und/oder geteilte iPad vieles gesperrt. Man findet die Zusammenstellung auf

https://support.apple.com/de-de/guide/deployment/depc3485c493/1/web/1.0

Da steht allerdings nichts von Einschränkungen bei der Kamera. Andererseits steht dort, dass "Maßband" heruntergenommen wurde, aber es funktioniert.

Gruß
Ralph
stefaan
stefaan 22.02.2022 um 10:03:13 Uhr
Goto Top
Servus,

ich habs gestern und heute bei zwei verwalteten iPads getestet (1x Mosyle, 1x Cisco Meraki):
QR-Code-Scanner der Kamera-App geht bei beiden iPads. iOS-Version hab ich aber nicht nachgeschaut.

Google findet ein paar Problemchen zu jamf und QR-Codes mit iOS 14.2.

Ich denke das geht jetzt eher in Richtung Apple/MDM als Moodle face-smile.

Grüße, Stefan
raba34
raba34 22.02.2022 aktualisiert um 13:04:20 Uhr
Goto Top
Hallo Stefan,

du hast mich auf die richtige Idee gebracht. Das iPad, mit dem ich die ganze Zeit getestet hatte, war noch auf Version 14. Jetzt habe ich über JamfSchool ein Update veranlasst auf 15.3.1 und jetzt kann die Kamera QR-Codes erkennen.

Vielen Dank. Jetzt bin ich wieder einen Schritt weiter face-smile Jetzt muss ich "nur" noch sehen, ob ich mit der auth_basic bei Moodle zurechtkomme.

Gruß
Ralph