Przygotowuję aplikację Flask z rozszerzeniem do logowania w kolbie. Dokumentacja logowania w kolbie zaleca ustawienie alternatywnego generatora tokenów, który nie używa po prostu identyfikatora użytkownika i tajnego klucza aplikacji do utworzenia tokenu sesji (który jest metodą domyślną). Ale nie zapewnia żadnych wyraźnych zaleceń, jak to zrobić.Ładowarka tokarka z loginem do kontenera
Tak, dla User.get_auth_token()
używam funkcji make_secure_token
z e-mailem użytkownika i hasłem jako parametrami (otrzymuję więc skrót tych parametrów + sekret aplikacji).
Następnie muszę mieć możliwość odebrania użytkownika z tokena za pomocą wywołania zwrotnego token_loader
. Domyślną metodą generowania tokenów w logowaniu na kolbę jest zarówno podanie nieprzetworzonego identyfikatora użytkownika, jak i skrótu identyfikatora użytkownika + sekret aplikacji. To sprawia, że znalezienie użytkownika z tokena jest bardzo proste - wystarczy pobrać identyfikator i wyszukać użytkownika.
Ale czy powinienem w ogóle ujawniać identyfikator użytkownika w tokenie sesji? Jeśli nie, czy powinienem przechowywać token sesji w bazie danych lub w innym miejscu z identyfikatorem użytkownika, aby umożliwić wyszukiwanie?
W skrócie: czy ktoś wie, jaka jest najlepsza praktyka w tworzeniu bezpiecznego tokena & odpowiadającego oddzwonienia token_loader
?