"Passwort vergessen" per curl aufrufen
Hallo zusammen,
ich migriere gerade mal wieder eine bestehende Seite mit internem Bereich zu Contao. Dabei muss ich mehrere hundert Mitglieder aus einer externen Datenbank importieren – eigentlich kein Problem. Aus Sicherheits- und Datenschutzgründen möchte ich diesen Mitgliedern aber nicht einfach ein neues Passwort per Mail zuschicken. Lieber würde das Contao-Modul "Passwort vergessen" dafür einsetzen – aber eben automatisiert.
Der Einfachheit halber wollte ich mir ein kleines bash-Script schreiben, welches die "Passwort vergessen"-Seite aufruft und damit automatisch Mails an alle Mitglieder verschickt. Der Aufruf sieht etwa so aus:
Code:
curl -b "csrf_contao_csrf_token=12345678;PHPSESSID=abcdefg" -F "FORM_SUBMIT=tl_lost_password_10&REQUEST_TOKEN=12345678&email=info%40example.com" https://www.meine-webseite.tld/passwort-vergessen.html
-b übergibt die Cookies, -F simuliert einen Form-Request. Die PHPSESSID habe ich einfach aus einem echten Request per Browser kopiert (Cookie), den csrf_contao_csrf_token = REQUEST_TOKEN auch. Ob die PHPSESSID überhaupt übergeben werden muss, weiß ich nicht. Für den csrf_contao_csrf_token könnte ich wahrscheinlich XYZ einsetzen, solange das mit dem REQUEST_TOKEN übereinstimmt.
Leider gibt diese curl-Abfrage nur die ganz normale Seite "https://www.meine-webseite.tld/passwort-vergessen.html" aus – ohne wirklich die Methode "sendPasswordLink()" in vendor/contao/core-bundle/src/Resources/contao/modules/ModulePassword.php aufzurufen. Auch im System-Log taucht kein Eintrag auf. Scheint ein Cross-Origin-Problem zu sein – oder? Hat jemand Tipps?
Danke & Grüße aus Freiburg
Arndt