Cała oryginalna treść jest tworzona po ukraińsku. Nie wszystkie treści zostały jeszcze przetłumaczone. Niektóre posty mogą być dostępne tylko po ukraińsku.Dowiedz się więcej

Czym różni się OAuth 1 od OAuth 2

Okładka posta: Czym różni się OAuth 1 od OAuth 2
Spis treściKliknij link, aby przejść do wybranego miejsca
Ta treść została automatycznie przetłumaczona z ukraińskiego.

OAuth 1

OAuth 1 został opracowany na początku lat 2000 jako sposób bezpiecznego dostępu aplikacji zewnętrznych do zasobów użytkownika bez przekazywania hasła. Główna idea polegała na tym, że zewnętrzna usługa mogła wysyłać zapytania w imieniu użytkownika, ale każde zapytanie było podpisywane kryptograficznie, aby zapewnić, że nie zostało zmienione i pochodzi od autoryzowanego klienta.
Cecha OAuth 1:
  • Kryptograficzny podpis każdego zapytania (HMAC-SHA1 lub RSA-SHA1).
  • Używał dwóch typów tokenów: tokena żądania do rozpoczęcia autoryzacji i tokena dostępu do zasobów.
  • Mógł działać nawet bez HTTPS, ponieważ bezpieczeństwo zapewniał podpis zapytania.
  • Był głównie odpowiedni dla aplikacji serwerowych i ograniczonej liczby scenariuszy autoryzacji.
OAuth 1 był aktywnie wykorzystywany w takich usługach jak Twitter API v1 lub starsze wersje LinkedIn, ale z powodu złożoności w realizacji i problemów z podpisami został stopniowo zastąpiony przez OAuth 2.

OAuth 2

OAuth 2 pojawił się w 2012 roku jako uproszczona, bardziej elastyczna i nowoczesna wersja protokołu do autoryzacji i dostępu do zasobów. Jego celem jest uproszczenie pracy programistów, umożliwienie różnym typom klientów (web, aplikacje mobilne, SPA) łatwego dostępu do zasobów użytkownika bez przekazywania hasła.
Cecha OAuth 2:
  • Używa tokenów dostępu (access token) oraz opcjonalnie tokenów odświeżających (refresh token). Token dostępu jest krótkoterminowy, token odświeżający pozwala na przedłużenie sesji.
  • Nie wymaga kryptograficznego podpisu zapytania - bezpieczeństwo zapewnia HTTPS.
  • Obsługuje różne przepływy autoryzacji: kod autoryzacji (dla serwerowych klientów webowych), implicit (dla SPA), hasło (dla zaufanych klientów) oraz dane uwierzytelniające klienta (dla interakcji serwer-serwer).
  • Znacznie łatwiejszy w realizacji i wspierany przez nowoczesne API (Google, Facebook, GitHub, Microsoft, Stripe itp.).
Kiedy co lepiej używać:
  • OAuth 1: jeśli pracujesz z bardzo starymi API, które go wymagają, lub w środowisku bez HTTPS, gdzie ważna jest kryptografia na poziomie zapytania.
  • OAuth 2: dla nowoczesnych aplikacji webowych i mobilnych, SPA, API, gdzie HTTPS jest gwarantowane. Również wygodny dla zewnętrznych klientów, ponieważ wspiera tokeny odświeżające i różne przepływy autoryzacji.

Porównanie OAuth 1 i OAuth 2 w praktyce

  • Składność: OAuth 1 jest bardziej skomplikowany z powodu podpisów, OAuth 2 jest prostszy i bardziej elastyczny.
  • Bezpieczeństwo: OAuth 1 jest bezpieczny nawet bez HTTPS, OAuth 2 wymaga HTTPS.
  • Elastyczność: OAuth 1 jest ograniczony, OAuth 2 wspiera wiele przepływów autoryzacji.
  • Użycie dzisiaj: OAuth 1 jest prawie nieużywany, OAuth 2 to standard dla nowoczesnych API i usług.
OAuth 1 dotyczył bezpiecznej autoryzacji bez HTTPS, OAuth 2 - elastyczności, prostoty i nowoczesnych scenariuszy dla aplikacji webowych i mobilnych.

Ten post nie ma jeszcze żadnych dodatków od autora.

Czym jest złożoność faktorialna?
16 wrz 19:03

Czym jest złożoność faktorialna?

meme code
meme code@memecode
Czym jest NP-trudność?
16 wrz 19:31

Czym jest NP-trudność?

meme code
meme code@memecode
Offset vs Cursor Pagination w Rails: co wybrać i dlaczego
24 wrz 15:22

Offset vs Cursor Pagination w Rails: co wybrać i dlaczego

meme code
meme code@memecode
Czym jest Row Security w PostgreSQL i po co jest to deweloperom Rails?
4 paź 19:06

Czym jest Row Security w PostgreSQL i po co jest to deweloperom Rails?

meme code
meme code@memecode
Czym jest ivar w Ruby / Rails?
19 paź 20:12

Czym jest ivar w Ruby / Rails?

meme code
meme code@memecode
Podstawowe metody uwierzytelniania w API
19 paź 20:26

Podstawowe metody uwierzytelniania w API

meme code
meme code@memecode
Czym jest ORM i po co jest potrzebny?
26 paź 14:00

Czym jest ORM i po co jest potrzebny?

meme code
meme code@memecode
MCP: nowy internet, gdzie strony komunikują się z AI
4 lis 11:43

MCP: nowy internet, gdzie strony komunikują się z AI

meme code
meme code@memecode
Dlaczego TOON jest lepszy od JSON przy pracy z AI?
14 lis 15:14

Dlaczego TOON jest lepszy od JSON przy pracy z AI?

meme code
meme code@memecode