Jakie są główne różnice między uwierzytelnianiem JWT i OAuth2?

0

Jakie są główne różnice między uwierzytelnianiem JWT i OAuth2? JWT słyży do wystawiana tokenów ale często widze toturiale gdzie jest albo użycie jednego albo drugiego.

8

Pomiędzy JWT a OAuth jest taka różnica jak między JPA a Spring Bootem

https://anil-pace.medium.com/json-web-tokens-vs-oauth-2-0-85dd0b32057d

6

A jaka jest różnica między gorącym i zielonym? :)

JWT to jest format przechowywania podpisanych danych. Masz tam specyfikacje użytych algorytmów, jakieś dane i podpis elektroniczny pozwalajacy zweryfikować czy dane nie zostały zmienione.
OAuth to protokół pozwalajacy na uwierzytelnienie użytkownika za pomocą zewnętrznego serwisu, tzn logujesz użytkownika do swojej aplikacji za pomocą jego konta google, uzyskując dostęp do pewnych danych, ale użytkownik dane logowania wprowadza jedynie na stronie kontrolowanej przez google, a nie w twojej aplikacji.

W praktyce wynikiem OAuth jest token w formacie JWT.

0

JWT jest kiepskie, a OAuth2 to kompletna porażka, ale to opinia dyletanta.

1

JWT mi się wydaje jako bliższy autoryzacji niż autentykacji *), ew konglomerat z przeważającą częścią tegoż
OAuth jest wyłączne auntentykajcą

Wspólne ze sobą mają jedynie to, że są modnymi buzzwordami

*) rola autontykacyjna w granicy dąży do zera

0

Czy dla przykładu to rozwiązanie wystarczy na zabezpiecznie aplikacji https://kobietydokodu.pl/projekt-bilet-3-konfigurujemy-spring-security-oraz-oauth/ ?

1

Ogólnie Spring Security starczy - nieważne czy sobie tam będziemy działać na sesji, JWT czy też skonfigurujemy OAuth. Aplikacja będzie chroniona (mówimy o bezpieczeństwie na poziomie aplikacji) .

0

@Pinek no teoretycznie Spring Security to też Basic Authentication, ale nie chciałbym korzystać z aplikacji tak zabezpieczonej ;]

0

A jak wy byście zabezpieczyli aplikację w Spring boot ?

2

Ale zabezpieczyli przed czym? o_O Jakie są use-case? Jakie są wymagania? Co chcesz osiągnąć?

0

NIe implemntuje tego na razie nigdzie ale czytam o tym. Czyli jak rozumiem moge użyć OAuth2 i mogę generować token w inny sposób niż używając JWT ?

0
TakMaszRacje napisał(a):

NIe implemntuje tego na razie nigdzie ale czytam o tym. Czyli jak rozumiem moge użyć OAuth2 i mogę generować token w inny sposób niż używając JWT ?

Zagadnienia tokenów maja o wiele starszą historę niż JWT, w tym sensie myślisz zupełnie poprawnie

Na ogólnym poziomie największą nowością JWT jest decentralizacja punkt autentykacji -źródło danych szczegółowych (które ja powyżej złączyłem z danymi autoryzacyjnymi: dostęp do A, zakaz do B) - konsument tokena, co jest typowe dla prawdziwego clouda.
JWT rozwiazuje kilka pojawiających się wtedy zagadnień.
M.in dla celów okresowej decentralizacji od źródła, w dużo większym stopniu niż starsze metody z tokenami, jest przygotowany do transportu "danych trzecich" (a może "stare" w ogóle tego nie miały ???)

Konkretnie dla ciebie pytanie, czy pełny, dynamiczny rozproszony cloud, czy jednak klasyczny dający się wskazać palcem serwer

0

A jak OAuth2 ma się do Spring Security czy to używa się razem czy wybeira się jedno albo drugie ?

1

A jak OAuth2 ma się do Spring Security czy to używa się razem czy wybeira się jedno albo drugie ?

+1 do przedmówców, zacznij od podstaw. Zadaj sobie pytanie, co chcesz osiągnąć zamiast randomowo składać puzzle. Może się okazać, że wcale Ci ten OAuth niepotrzebny.

To nie kwestia Springa, tylko myślenia rozwiązaniem, a nie problemem/potrzebą.

0

Moje pytanie wynikło z tego bo wycztałem że OAuth2 uruchamia się przed spring security i \ze . Kolejna sprawa czy implemetacji uwerzytalniania przez np fb czy google OAuth2 nie będzie bardziej pomocny?

4
Charles_Ray napisał(a):

To nie kwestia Springa, tylko myślenia rozwiązaniem, a nie problemem/potrzebą.

Szczerze? To wydaje mi się, że w 100% przypadków, początkowy programista uczy się najpierw jak użyć danego narzędzia, a dopiero potem uczy się po co go użyć.

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