Sobes.tech
Junior

Jaka jest mechanika logowania użytkownika w systemie?

sobes.tech AI

Odpowiedź od AI

Mechanika logowania obejmuje:

  1. Wprowadzanie danych: Użytkownik wprowadza dane identyfikacyjne (np. login/e-mail i hasło) w pola formularza.
  2. Wysyłanie żądania: Dane są wysyłane do serwera za pomocą protokołu HTTPS.
  3. Walidacja na serwerze: Serwer sprawdza poprawność wprowadzonych danych (format, obecność).
  4. Uwierzytelnianie: Serwer wyszukuje użytkownika w bazie danych na podstawie wprowadzonych identyfikatorów i porównuje hash wprowadzonego hasła z przechowywanym hashem.
  5. Autoryzacja: Jeśli uwierzytelnianie się powiedzie, serwer określa prawa dostępu użytkownika do zasobów.
  6. 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").
  7. 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"
}