Skip to content

57. OAuth 2.0 — przepływ autoryzacji, tokeny i kiedy używać

This content is not available in your language yet.

OAuth 2.0

OAuth 2.0 to standard autoryzacji pozwalający aplikacjom trzecim na dostęp do zasobów użytkownika bez ujawniania hasła. „Zaloguj się przez Google/GitHub/Facebook” — to OAuth 2.0. Standard definiuje cztery przepływy (grant types) dostosowane do różnych scenariuszy.

  • „Logowanie przez Google” jest na każdej nowoczesnej stronie
  • Większość publicznych API wymaga OAuth 2.0 (GitHub, Twitter, Spotify)
  • JWT (JSON Web Tokens) jest używany jako format tokenu dostępu
  1. Wyjaśnić problem bez OAuth — dlaczego nie oddajemy hasła aplikacjom
  2. Opisać aktorów: właściciel zasobu, klient, serwer autoryzacji, serwer zasobu
  3. Omówić Authorization Code Grant (najczęstszy przepływ)
  4. Opisać tokeny: access token, refresh token, scope
  1. Problem — aplikacja trzecia potrzebuje dostępu do danych użytkownika
  2. Czterech aktorów OAuth 2.0
  3. Authorization Code Grant — krok po kroku
  4. Implicit Grant, Client Credentials Grant, Resource Owner Password
  5. Access Token — format, ważność, Bearer w nagłówku
  6. Refresh Token — odnawianie tokenu bez ponownego logowania
  7. Scope — ograniczanie uprawnień (read:user, repo, email)

Przykład 1

Diagram przepływu Authorization Code Grant

Przykład 2

PHP: wywołanie API z tokenem Bearer w nagłówku

Przykład 3

Przykładowy access token JWT (zdekodowany payload)
  1. Wstęp — problem oddawania hasła
  2. Czterech aktorów OAuth 2.0
  3. Authorization Code Grant — diagram
  4. Typy tokenów
  5. Scope i uprawnienia
  6. Pozostałe grant types
  7. Użycie w PHP (przykład z curl)
  8. Podsumowanie i bibliografia

Przetestuj na GitHubie!

Utwórz aplikację OAuth w ustawieniach GitHub Developer i opisz cały proces rejestracji i przepływu. To praktyczny kontekst dla teorii.