Junior
Jaka jest mechanika logowania użytkownika w systemie?
sobes.tech AI
Odpowiedź od AI
Mechanika logowania obejmuje:
- Wprowadzanie danych: Użytkownik wprowadza dane identyfikacyjne (np. login/e-mail i hasło) w pola formularza.
- Wysyłanie żądania: Dane są wysyłane do serwera za pomocą protokołu HTTPS.
- Walidacja na serwerze: Serwer sprawdza poprawność wprowadzonych danych (format, obecność).
- Uwierzytelnianie: Serwer wyszukuje użytkownika w bazie danych na podstawie wprowadzonych identyfikatorów i porównuje hash wprowadzonego hasła z przechowywanym hashem.
- Autoryzacja: Jeśli uwierzytelnianie się powiedzie, serwer określa prawa dostępu użytkownika do zasobów.
- Tworzenie odpowiedzi:
- W przypadku pomyślnego logowania: Serwer generuje token (np. JWT, ID sesji) i wysyła go do klienta (często w nagłówku odpowiedzi lub cookie). Może być również wysyłana dodatkowa informacja o użytkowniku.
- W przypadku niepowodzenia logowania: Serwer wysyła odpowiedź z błędem (np. "Nieprawidłowa nazwa użytkownika lub hasło").
- Obsługa odpowiedzi na kliencie:
- W przypadku sukcesu: Klient zapisuje token (np. w Local Storage, Session Storage, cookie) i przekierowuje użytkownika na chronioną stronę.
- W przypadku niepowodzenia: Klient wyświetla komunikat o błędzie użytkownikowi.
Przykład struktury żądania (uproszczony):
// POST /api/v1/login
{
"username": "user@example.com",
"password": "mysecretpassword"
}
Przykład odpowiedzi pomyślnej:
// 200 OK
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"userId": 1,
"role": "user"
}
Przykład odpowiedzi z błędem:
// 401 Unauthorized
{
"message": "Nieprawidłowe dane uwierzytelniające"
}