Cześć,
uczę się tworzyć Asp Netowe API i mam pytanie odnośnie autentykacji użytkowników.
Na sam początek zaznaczę, że aplikacje, które mam zamiar z tym API tworzyć:
- Będą używały Angulara
- Będą typowo biznesowo / korporacyjne: systemy zarządzania pracownikami, CRM, itd. Do wykonania jakiejkolwiek akcji użytkownik będzie musiał być zalogowany.
Zgłębiłem trochę temat i wiem, że są dwa główne podejścia: JWT i pliki cookies.
Na temat JWT wyczytałem bardzo dużo - jedni mówią, że jest super, a drudzy - że nie ... uzasadnień tych opinii nie mogłem się już doszukać :) Jedną z rzeczy, którą słyszałem, jest to, że JWT nie umożliwia tradycyjnego wylogowywania się, tylko traci ważność bo jakimś krótkim czasie. Z drugiej strony natomiast, jsonowe tokeny lepiej nadają się do aplikacji typu SPA, niż ciasteczka.
Które podejście, w kontekście moich aplikacji, moglibyście mi polecić? Przyznam, że do tej pory patrzyłem na poradniki dotyczące tylko JWT i przeraziła mnie trochę ilość kodu, którą trzeba napisać (im więcej linijek, tym więcej okazji na popełnienie błędu / luki w zabezpieczeniach).
Natknąłem się także na poradniki korzystające z Identity w .NET 8, ale generują one bardzo dużo gotowego kodu (5 endpointów, tabela w bazie danych, itd.). Wiem, że wcześniej narzekałem na ilość linijek implementacji JWT, ale wolałbym samemu zdefiniować np. encję użytkownika - moim przypadku konta będzie tworzyć administrator aplikacji, więc nie ma potrzeby podawania adresu email i potwierdzania go.
Z góry bardzo dziękuję.