Jako że nigdy się w aplikacjach warstwą sieciową nie zajmowałem, to mam problem ze znalezieniem odpowiedniej metody.
Na internecie jest masa poradników jak to zrobić, ale oczywiście dotyczą różnych frameworków jak i różnych metod(tokeny, sesje), więc akurat nie wszystko kojarzę.
Z tego co wnioskuję logika powinna wyglądać w ten sposób:
-
W bazie użytkownika zostaje dodane login + posolone hasło
-
Użytkownik próbuje zalogować się do serwera, więc w zapytaniu przesyła w body login + hasło
-
Serwer weryfikuje czy w bazie dane się znajdują, jeśli tak, to generuje token przy pomocy sekretnego klucza, w którym wewnątrz jest zapisany login użytkownika i czas wygaśnięcia i zwraca go użytkownikowi
-
Użytkownik otrzymuje klucz i następnie do każdego zapytania api dodaje go do nagłówka Authentication
-
Serwer po otrzymaniu zapytania, sprawdza nagłówek i odpakowywuje login i czas wygaśnięcia tokena, jeśli token jest ciągle ważny, to wykonuje daną operację, jeśli nie to zwraca błąd
-
Serwer dla każdego zapytania wymaga tego tokena(oczywiście oprócz resta do logowania)
Czy moje rozumowanie jest poprawne?
#programowanie
#naukaprogramowania