Alternatywy dla OAuth?

20

Branża internetowa zmienia / przesuwa się w kierunku korzystania z protokołu OAuth przy rozszerzaniu usług API na zewnętrznych konsumentów i programistów. W prostocie jest trochę elegancji ... i cóż, 3-etapowy proces OAuth nie jest taki zły ... po prostu uważam, że jest to najlepsza ze złych opcji.

Czy istnieją alternatywy, które mogłyby być lepsze i bezpieczniejsze?

Referencje dotyczące bezpieczeństwa pochodzą z następujących adresów URL:

Natknąłem się na to podczas wymiany stosu zabezpieczeń IT i pomyślałem, że to wzruszające z punktu widzenia bezpieczeństwa:

Może SAML 2.0 jest alternatywą?

Co z OpenID ?

Celem tego pytania jest z punktu widzenia programowania.

Czy OAuth jest najlepszą dostępną obecnie opcją ...?

Czy istnieją alternatywne opcje, które pozwalają mi rozszerzyć moją aplikację sieciową na konsumentów, którzy są lepsi z punktu widzenia bezpieczeństwa, punktu widzenia wdrożenia, długowieczności (nie będą wymagali przeróbki za kilka miesięcy), i umożliwią obsługę aplikacji mobilnych zużywających moją sieć podanie.

sdolgy
źródło
2
Lepiej w jaki sposób? Co uważasz za błędne w OAuth?
Dean Harding
„Branża Web2.0 przesuwa się / zmieniła się w kierunku korzystania z OAuth” To śmiałe stwierdzenie. Chociaż SE jest jednym z niewielu przykładów, które używają OAuth, nie sądzę, że większość stron tak robi.
Tamás Szelei
facebook, twitter, weibo, yahoo, google, foursquare ... wszystkie zapewniają korzystanie z interfejsu API / usług .. nie?
sdolgy
1
Ważne pytania to, ile stron je wykorzystuje?
Tamás Szelei

Odpowiedzi:

11

Po pierwsze, OAuth nie zastępuje logowania . To zadanie rozwiązane przez OpenID i podobne.

OAuth to tymczasowy protokół autoryzacji transferu danych. W przypadku zadania, w którym chcesz zaimportować dane ze strony A na stronę B, użyj OAuth. Ale nadal logowałbyś się na stronie A za pomocą OpenID. Jednak Google niedawno ogłosił protokół, który łączy oba te elementy, więc wydaje mi się, że różnica między nimi jest bardziej mętna niż wcześniej.

Alternatywą dla OAuth byłby Facebook Connect . Nie jestem pewien, czy znam jakieś alternatywy (być może niektóre systemy bezpieczeństwa RPC mogą być odpowiednie dla Internetu)

gbjbaanb
źródło
Dzięki za wyjaśnienie tego rozróżnienia. Miałem całkowicie błędne założenie!
Matt Ellen
czy koncepcje OAuth nie są używane do uwierzytelniania smartfonów na stronach internetowych? jak aplikacja Twitter lub Foursquare na Androida ...?
sdolgy
1
@sdolgy: tak, jest to sposób na uwierzytelnienie aplikacji strony trzeciej za pomocą usługi bez konieczności ujawniania hasła do tej aplikacji.
Dean Harding
Warto wspomnieć, że nie obejmuje to wszystkich typów OAuth, np. Poświadczeń klienta.
Robert Grant,