Ich habe eine Flask-App, die als REST-API-Backend dient. Ich möchte Token-basierte Authentifizierung für das Backend implementieren, aber um das zu tun, muss ich das Benutzer-Token abrufen. Die Flask-Security-Dokumentation besagt eindeutig, dass zum Abrufen des Tokens ein HTTP-POST mit den Authentifizierungsdetails als JSON-Daten zum Authentifizierungsendpunkt ausgeführt werden muss. Leider verstehe ich nicht, wie ich das CSRF-Token abrufen kann, das zur Ausführung einer solchen Anfrage benötigt wird.Flask-Security CSRF-Token
Wenn ich die Anmeldeseite/Vorlage verwende, die mit der Erweiterung geliefert wurde, wird das CSRF-Token an den Client in dem ausgeblendeten Feld im Formular übergeben. Die Frage lautet:
Wie kann ich das CSRF-Token abrufen, ohne auf die Anmeldeseite zuzugreifen und diese zu analysieren, z. B. aus einer angularJS-App mit $ http-Methoden oder einer mobilen App?
Offensichtlich konnte ich vermeiden Flask-Sicherheit zu verwenden und die Stücke selbst zu implementieren, aber ich bin relativ unerfahren mit Webapps und ich fühle mich, dass ich das in die falsche Richtung gehen könnte.
Wie hast du das am Ende gemacht? – kyrre
Ich habe die Sicherheitsebene selbst implementiert. Tut mir leid, ich habe keine bessere Antwort für dich. – Jacopo
Beachten Sie, dass es keine sichere Möglichkeit gibt, die Tokens in angularjs zu speichern, siehe z. [hier] (https://stormpath.com/blog/where-to-store-your-jwts-cookies-vs-html5-web-storage/). Die sichere Option besteht darin, den Server das Token in einem HTTP-Only-Cookie speichern zu lassen und den CSRF-Schutz zu aktivieren. Wenn Sie nur angularjs brauchen, können Sie auch einfach die Session (+ anti-CSRF) verwenden. – Adversus