Ich richte eine Flask-App mit der flaschen-login-Erweiterung ein. Die Flask-Login-Dokumentation empfiehlt, einen alternativen Token-Generator einzurichten, der nicht einfach die Benutzer-ID und das App-Geheimnis verwendet, um das Sitzungstoken zu erstellen (was die Standardmethode ist). Aber es gibt keine klaren Empfehlungen, wie dies zu tun ist.Flask-Login Token Loader
Also, für User.get_auth_token()
, verwende ich die make_secure_token
Funktion mit dem Benutzer E-Mail und Passwort als Parameter (so bekomme ich einen Hash dieser Parameter + App Geheimnis).
Als nächstes muss ich in der Lage sein, den Benutzer aus dem Token mit dem token_loader
Rückruf zu bekommen. Die Standardmethode zum Generieren von Tokens in flask-login besteht darin, sowohl die rohe Benutzer-ID als auch einen Hash der Benutzer-ID + App-Secret anzugeben. Das macht es sehr einfach, den Benutzer aus dem Token zu finden - nehmen Sie einfach die ID und suchen Sie den Benutzer.
Aber sollte ich die Benutzer-ID im Session-Token überhaupt offen legen? Wenn nicht, sollte ich das Sitzungstoken in der Datenbank oder woanders mit der Benutzer-ID speichern, um eine Suche zu ermöglichen?
Kurz gesagt: weiß jemand, was die beste Praxis für das Erstellen eines sicheren Token ist & entsprechenden token_loader
Rückruf?