𝗝𝗪𝗧 𝗔𝘂𝘁𝗵𝗲𝗻𝘁𝗶𝗰𝗮𝘁𝗶𝗼𝗻 𝗶𝗻 𝗙𝗮𝘀𝘁𝗔𝗣𝗜

Uwierzytelnianie pyta: „Kim jesteś?” Autoryzacja pyta: „Co możesz robić?”

Jeśli zbudujesz platformę AI bez zabezpieczeń, każdy będzie mógł uzyskać dostęp do prywatnych danych. Mogą zmieniać profile użytkowników lub przeglądać postępy uczniów. Musisz chronić swoje zasoby.

JWT (JSON Web Token) rozwiązuje ten problem. Zamiast wysyłać hasło przy każdym zapytaniu, użytkownik wysyła bezpieczny token.

Przebieg pracy:

Powinieneś używać tych narzędzi:

Nigdy nie przechowuj haseł w tekście jawnym. Jeśli haker ukradnie Twoją bazę danych, zdobędzie wszystko. Zamiast tego przechowuj hasz.

Hasz zamienia „password123” w długi ciąg losowych znaków. Nie można zamienić haszu z powrotem w hasło. Weryfikujesz jedynie, czy wprowadzone dane pasują do haszu.

Jak to zbudować:

  1. Rejestracja Użytkownik wysyła nazwę użytkownika i hasło. Haszujesz hasło i przechowujesz je w swojej bazie danych.

  2. Logowanie Użytkownik wysyła dane uwierzytelniające. Znajdujesz zapisany hasz. Używasz biblioteki, aby zweryfikować hasło. Jeśli pasuje, tworzysz token.

  3. Generowanie JWT Token zawiera dane użytkownika oraz czas wygaśnięcia. Podpisujesz token tajnym kluczem. Jeśli użytkownik spróbuje zmienić dane, podpis okaże się nieważny.

Odpowiedź logowania wygląda tak: { "access_token": "eyJhbGciOiJIUzI1Ni...", "token_type": "bearer" }

Teraz użytkownik posiada klucz do Twojego systemu.

W następnej części nauczymy się, jak używać tych tokenów do ochrony konkretnych tras i zarządzania rolami użytkowników.

Podsumowanie kroków:

Źródło: https://dev.to/zeroshotanu/fastapi-for-ai-engineers-part-6-jwt-authentication-in-fastapi-5fpk

Opcjonalna społeczność edukacyjna: https://t.me/GyaanSetuAi