Weryfikacja podpisu JWT w ASP.NET

0

Cześć,
chciałem się upewnić w takiej kwestii:
prawidłowa konfiguracja JWT w ASP.NET wymaga m.in. dodania w metodzie Configure fragmentu:

app.UseAuthentication();

A moje pytanie jest takie: Czy dodanie tej funkcji zapewnia również weryfikację zgodności podpisu tokenu? Czyli jak ktoś mi coś podmieni w tokenie bez zmiany podpisu (np. z roli user na admin) to czy taka zmiana już z automatu zablokuje dostęp do strony/danych? Czy może weryfikacją zgodności podpisu muszę zająć się niezależnie?
Z góry dziękuję za pomoc.

1

Nie no, z tym niezależnie to bym nie przesadzał.
Dodajesz .UseAuthentication(<domyślny-schemat>) i konkretne "providery" (.AddJwtBearer/AddCookie itp.).

Przy konfigurowaniu providera JwtBearer przekazujesz mu opcje konfiguracyjne. Tam podajesz klucz, za pomocą którego mają być weryfikowane tokeny, albo jeśli korzystasz z OpenID Connect to podajesz po prostu Authority i on pod spodem sam sobie pobierze metadane z endpointa /.well-known/openid-configuration.

Nic więcej nie musisz robić.

3
Kofcio napisał(a):

Cześć,

chciałem się upewnić w takiej kwestii:
prawidłowa konfiguracja JWT w ASP.NET wymaga m.in. dodania w metodzie Configure fragmentu:

app.UseAuthentication();

A moje pytanie jest takie: Czy dodanie tej funkcji zapewnia również weryfikację zgodności podpisu tokenu? Czyli jak ktoś mi coś podmieni w tokenie bez zmiany podpisu (np. z roli user na admin) to czy taka zmiana już z automatu zablokuje dostęp do strony/danych? Czy może weryfikacją zgodności podpisu muszę zająć się niezależnie?
Z góry dziękuję za pomoc.

Jeśli dodasz konfiguracje JWT prawidłowo to framework sam zadba o to. Nie ma możliwości aby podmienić sobie role w tokenie i weryfikacja przeszła pozytywnie.

Można też zrobić swojego middleware do weryfikacji ale to chyba zbędne.
https://jasonwatmore.com/post/2021/04/30/net-5-jwt-authentication-tutorial-with-example-api

1 użytkowników online, w tym zalogowanych: 0, gości: 1