OAuth 2.0

Cyber Katalog 2 min czytania Open Authorization 2.0

Definicja OAuth 2.0

OAuth 2.0 to otwarty standard autoryzacji, który umożliwia aplikacjom stron trzecich dostęp do zasobów użytkownika przechowywanych na innym serwerze - bez potrzeby udostępniania loginu i hasła. Działa poprzez przydzielanie ograniczonego i odwoływalnego tokenu dostępowego.

Kluczowe komponenty

Komponent Opis
Resource Owner Użytkownik, którego dane są chronione.
Client Aplikacja żądająca dostępu do danych użytkownika.
Authorization Server Serwer wydający tokeny na podstawie autoryzacji.
Resource Server Serwer, który przechowuje zasoby i honoruje tokeny dostępu.

Typowe scenariusze autoryzacji

Grant Type Przeznaczenie
Authorization Code Bezpieczny przepływ dla aplikacji webowych.
Implicit Stosowany przez aplikacje SPA (obecnie niezalecany).
Client Credentials Dostęp bez użytkownika - dla integracji serwer-serwer.
Resource Owner Password Bezpośrednie podanie loginu i hasła (już niezalecane).
Device Code Autoryzacja na urządzeniach z ograniczonym UI (TV, IoT).

Zalety OAuth 2.0

  • Bezpieczeństwo - użytkownik nie musi udostępniać swojego hasła aplikacjom.
  • Kontrola dostępu - możliwość ograniczenia zakresu (ang. scope) uprawnień.
  • Możliwość odwołania dostępu - użytkownik może cofnąć zgodę w dowolnym momencie.
  • Powszechność - wspierany przez większość dużych platform (Google, Microsoft, GitHub).

Wyzwania wdrożeniowe

  1. Złożoność - różnorodność grantów i mechanizmów odświeżania tokenów.
  2. Zagrożenia CSRF i redirect URI spoofing - wymagają stosowania dobrych praktyk.
  3. Brak standaryzacji sesji - konieczność własnej implementacji logiki sesji.
  4. Ryzyko błędnej implementacji - np. przechowywanie tokenów w lokalnej pamięci przeglądarki.

OAuth vs OpenID Connect

OAuth 2.0 zapewnia autoryzację, natomiast OpenID Connect (OIDC) to rozszerzenie OAuth 2.0 o uwierzytelnianie. OIDC pozwala na uzyskanie danych tożsamości użytkownika, co czyni go idealnym do logowania jednokrotnego (SSO).

Przykłady zastosowania

  • Logowanie przy użyciu konta Google lub Facebooka.
  • Integracja aplikacji z API CRM, kalendarza czy chmury.
  • Automatyczne przyznawanie dostępu serwisom w imieniu użytkownika (np. synchronizacja danych).

Dobre praktyki

  • Zawsze stosuj PKCE dla aplikacji klienckich.
  • Ograniczaj zakres tokenów (scope) do minimum.
  • Przechowuj tokeny bezpiecznie - najlepiej poza przeglądarką.
  • Monitoruj i odświeżaj tokeny w sposób kontrolowany i zgodny z RFC 6749.

Standardy i specyfikacje

  • RFC 6749 - podstawowa specyfikacja OAuth 2.0.
  • RFC 6750 - Bearer Token Usage.
  • OAuth 2.1 (draft) - uproszczona, zaktualizowana wersja, eliminująca starsze granty.
  • OpenID Connect - warstwa uwierzytelnienia oparta na OAuth 2.0.

Kanał RSS

Nowe pozycje z tej sekcji w formacie RSS. Adres kanału do subskrypcji w dowolnym czytniku.

Hasła słownika https://cyberkatalog.pl/feed-slownik.xml

Zwiększ widoczność w branży cyberbezpieczeństwa

Dodaj swoją firmę