W jaki sposób w Spring Security i aplikacjach REST realizuje się rejestrachę autentykacje użytkowników?
Czy jest to coś takiego?
-
Użytkownik rejestruje się podając login i hasło w kliencie, przesyłane jest to po HTTPS zabezpieczone, i w backendzie hasło jest hashowane i w taki sposób przechowywane w bazie?
-
w momencie logowania dajemy zapytanie GET do serwera z loginem i hasłem, hasło haszowane i sprawdzane czy zgodne jest z haszem w bazie po czym klient dostaje zwrotkę z tokenem i token ten jest przesyłany w każdym kolejnym zapytaniu w nagłówku Authentication w zapytaniach?
Czy może hasła powinny być haszowane od razu w kliencie żeby nie pchać tego przez sieć ?
A może na podstawie loginu i hasła wyliczać hasz i mieć jedna tabele w bazie gdzie ten hasz będzie przechowywany a inne info o userze w innej?
W jaki sposób się to realizuje aby było bezpiecznie?