OAuth to specyfikacja autoryzacji
OAuth 2.0 to specyfikacja dotycząca autoryzacji, ale NIE dotycząca uwierzytelniania. RFC 6749, 3.1. Punkt końcowy autoryzacji wyraźnie mówi, co następuje:
Punkt końcowy autoryzacji służy do interakcji z właścicielem zasobu i uzyskiwania nadania autoryzacji. Serwer autoryzacji MUSI najpierw zweryfikować tożsamość właściciela zasobu. Sposób, w jaki serwer autoryzacyjny uwierzytelnia właściciela zasobu (np. Nazwa użytkownika i hasło logowania, sesyjne pliki cookie) wykracza poza zakres tej specyfikacji .
Uwierzytelnianie OAuth?
Uwierzytelnianie dotyczy informacji o tym, „kim się jest”. Autoryzacja dotyczy informacji o tym, „kto komu udziela jakich uprawnień”. Przepływ autoryzacji obejmuje uwierzytelnianie jako pierwszy krok. To jest powód, dla którego ludzie są często zdezorientowani.
Istnieje wiele bibliotek i usług, które używają OAuth 2.0 do uwierzytelniania. Jest często nazywany „logowaniem społecznościowym” i sprawia, że ludzie są bardziej zdezorientowani. Jeśli widzisz „Uwierzytelnianie OAuth” (nie „Autoryzacja OAuth”), jest to rozwiązanie wykorzystujące OAuth do uwierzytelniania.
OpenID Connect
OpenID 1.0 i OpenID 2.0 to stare specyfikacje uwierzytelniania. Ci, którzy przygotowali specyfikacje, oczekiwali, że ludzie będą używać OpenID do uwierzytelniania. Jednak niektórzy ludzie zaczęli używać OAuth 2.0 do uwierzytelniania (nie do autoryzacji) i uwierzytelnianie OAuth szybko się rozpowszechniło.
Z punktu widzenia facetów z OpenID uwierzytelnianie oparte na OAuth nie było wystarczająco bezpieczne, ale musieli przyznać, że ludzie woleli uwierzytelnianie OAuth. W rezultacie faceci z OpenID zdecydowali się zdefiniować nową specyfikację, OpenID Connect , oprócz OAuth 2.0.
Tak, to znacznie bardziej zdezorientowało ludzi.
Jednozdaniowe definicje protokołów OAuth 2.0 i OpenID Connect
OAuth 2.0 to platforma, w której użytkownik usługi może zezwolić aplikacji innej firmy na dostęp do swoich danych przechowywanych w usłudze bez ujawniania swoich danych uwierzytelniających (identyfikatora i hasła) aplikacji.
OpenID Connect to platforma bazująca na OAuth 2.0, w której aplikacja innej firmy może uzyskiwać informacje o tożsamości użytkownika, którymi zarządza usługa.
(Przepraszamy, te definicje to fragmenty ze strony przeglądu mojej firmy)
Definicje z punktu widzenia realizatorów
Uwierzytelnianie to proces mający na celu określenie podmiotu (= unikalnego identyfikatora) użytkownika końcowego. Istnieje wiele sposobów ustalenia tematu. Identyfikator i hasło, odciski palców, rozpoznawanie tęczówki itp.
Autoryzacja to proces polegający na powiązaniu podmiotu z żądanymi uprawnieniami i aplikacją kliencką, która zażądała tych uprawnień. Token dostępu reprezentuje powiązanie.
Zobacz też
- Pełnoprawny implementator OAuth i OpenID Connect, mówi o wynikach
- Diagramy i filmy wszystkich przepływów protokołu OAuth 2.0
- Diagramy wszystkich przepływów OpenID Connect
- Najprostszy przewodnik po protokole OAuth 2.0