OAuth 2.0 101

Autor: Judy Howell
Data Utworzenia: 26 Lipiec 2021
Data Aktualizacji: 23 Czerwiec 2024
Anonim
OAuth 2.0: An Overview
Wideo: OAuth 2.0: An Overview

Zawartość


Na wynos:

Protokół OAuth 2.0 został zaprojektowany w celu ulepszenia oryginalnej wersji protokołu. Według krytyków odnosi sukcesy w niektórych obszarach, aw innych nie.

Wiele luksusowych samochodów ma klucz parkingowego. Jest to specjalny klucz, który dajesz pracownikowi parkingu, i w przeciwieństwie do zwykłego klucza, pozwoli on prowadzić samochód tylko na niewielką odległość, blokując dostęp do bagażnika i telefonu komórkowego na pokładzie. Niezależnie od ograniczeń nałożonych przez klucz parkingowego, pomysł jest bardzo sprytny. Dajesz komuś ograniczony dostęp do samochodu za pomocą specjalnego klucza, a jednocześnie używasz innego klucza, aby odblokować wszystko inne. - Oficjalny przewodnik po OAuth 1.0

Taki jest sposób, w jaki wytyczne specyfikacji oparte na społeczności wyjaśniły OAuth w 2007 roku. I chociaż OAuth 2.0 jest zupełnie nowym protokołem, nadal obowiązuje ten sam opis - OAuth pozostaje dla użytkowników sposobem na przyznanie dostępu stron trzecich (i ograniczony dostęp) do ich zasoby bez udostępniania haseł.

Jeśli regularnie korzystasz z Internetu, prawdopodobnie trafiłeś na witrynę korzystającą z OAuth. W końcu największe światowe strony internetowe, takie jak Google, MySpace, Photobcuket, Yahoo, Evernote i Vimeo, korzystają z tego standardu uwierzytelniania. Czytaj dalej, aby dowiedzieć się więcej o tym standardzie i dlaczego nowa generacja, OAuth 2.0, jest nadal używana na stosunkowo eksperymentalnych podstawach.

Co to jest OAuth 2.0?

Po pierwsze, musisz wiedzieć, co robi OAuth jako protokół: Umożliwia autoryzację interfejsu programowania aplikacji między dwiema aplikacjami sieciowymi lub komputerowymi. W rezultacie strony internetowe mogą współdzielić chronione zasoby z innymi stronami internetowymi i usługami.

Na przykład, jeśli grasz w Scramble ze znajomymi na iPadzie, możesz wprowadzić swoje dane uwierzytelniające, pozwalając grze przejrzeć listę znajomych, aby zobaczyć, który z nich gra, i zaprosić innych. Możesz też połączyć się ze znajomymi w Google+ na podstawie osób, które Cię śledzą. Tego typu aplikacje są przydatne dla użytkowników, ale wiążą się z udzieleniem jednej witrynie lub programowi dostępu do informacji o Tobie w innej witrynie.

OAuth 2.0 działa podobnie jak pierwsze wcielenie OAuth, ale jest to zupełnie nowy standard. Oznacza to, że nie jest wstecznie kompatybilny z OAuth 1.0. Wersja 2.0 rozwiązała wiele problemów z oryginalnym OAuth i wprowadziła ulepszenia.

Zasadniczo zachowując architekturę pierwszej wersji, 2.0 poprawił:
  • Uwierzytelnianie i podpisy. OAuth 2.0 ułatwił implementację protokołu po stronie klienta.
  • Doświadczenie użytkownika i alternatywne sposoby wydawania tokenów
  • Wydajność, szczególnie w przypadku większych witryn i usług
Bardziej szczegółowe wyjaśnienie nowości w OAuth 2.0 zapewnia Eran Hammer, który był członkiem grupy roboczej OAuth. Możesz uzyskać do niego dostęp tutaj. Należy jednak pamiętać, że Hammer opuścił grupę roboczą w lipcu 2012 r., Powołując się na problemy związane z bezpieczeństwem podczas wdrażania standardu. W rezultacie, mimo że OAuth miał zostać sfinalizowany do końca 2010 roku, pozostaje proponowanym standardem (w momencie pisania), chociaż jest częścią API Graph. Google i Microsoft eksperymentują również z obsługą OAuth 2.0 w swoich interfejsach API.

Korzyści z używania OAuth 2.0

Jednym z najlepszych powodów używania OAuth jest to, że znacznie ułatwia udostępnianie. Byliśmy już przyzwyczajeni do przesyłania zdjęć na Instagram i automatycznego umieszczania ich na i. W rzeczywistości jest to tego rodzaju łatwość użycia i crossover, który sprawia, że ​​media społecznościowe są tak atrakcyjne.

Ale to nie wszystko. Dla użytkowników końcowych OAuth oznacza, że ​​nie musisz tworzyć innego profilu. Na przykład, jeśli chcesz zostawić komentarz do artykułu, możesz użyć do tego swoich poświadczeń lub poświadczeń zamiast konieczności zakładania konta w danej witrynie. Jest to idealne rozwiązanie dla witryn, w których zwykle nie jesteś aktywny lub którym możesz nie ufać. Może także przynieść korzyści stronom, zapewniając użytkownikom tożsamość, co zmniejsza prawdopodobieństwo spamu w komentarzach.

OAuth oznacza również mniej haseł do zapamiętania. Najlepszą praktyką jest posiadanie różnych haseł do różnych usług internetowych. Zamiast zapamiętywać kolejne hasło do Pinteresta, wystarczy użyć hasła, aby uzyskać dostęp do usługi. Nawiasem mówiąc, Pinterest nie zobaczy Twojego hasła.

Możesz również ograniczyć dostęp do zasobów za pośrednictwem OAuth. Na przykład podczas grania w grę możesz określić, czy chcesz, aby gra była umieszczana na ścianie w Twoim imieniu, czy nie.

Dla programisty OAuth 2.0 zapewnia już opracowany kod do uwierzytelniania, wyświetlania interakcji społecznościowych i wyświetlania profilu użytkownika. Oznacza to mniej błędów dla programistów i mniejsze ryzyko, ponieważ interfejs API został już debugowany, przetestowany i sprawdzony. Wreszcie, zyskujesz również na tym, że masz mniej danych do przechowywania na własnych serwerach.

Jak powstał OAuth 2.0

Oczywistym jest, że OAuth jest odpowiedzią na wezwanie do bezpiecznego przetwarzania danych i łatwości użytkowania dla różnych usług internetowych. Z kolei OAuth 2.0 wynikał z potrzeby uczynienia OAuth mniej skomplikowanym. Ale cały pomysł na oba pochodzi z OpenID.

OpenID to usługa umożliwiająca użytkownikom logowanie się do różnych usług przy użyciu danych logowania z innej witryny. Ale OpenID był bardzo ograniczony, więc grupa ludzi pracujących nad różnymi protokołami autoryzacji dla własnych stron spotkała się. Pierwsze wdrożenia OAuth przeprowadzono w 2007 r., A pierwsza wersja pojawiła się dwa lata później.

OAuth 2.0 pojawił się na scenie w 2010 roku. Jego celem było skupienie się na prostocie programista-klient i łatwość skalowania, jednocześnie poprawiając komfort użytkowania.

Zbliżające się wyzwania?

Chociaż Google, Klout i inne wielkie nazwiska wdrażają protokół OAuth 2.0, przed tym protokołem może być jeszcze kamienista droga. Istnieją krytyczne opinie ze strony społeczności OAuth 2.0, w tym obawy dotyczące bezpieczeństwa protokołów (wielu uważa, że ​​jest ono mniej bezpieczne niż OAuth 1.0).

Według Hammera, jeśli jest używany przez kompetentnego programistę, który jest dobrze zaznajomiony z bezpieczeństwem sieci, OAuth 2.0 działa. Niestety tylko niewielka mniejszość programistów pasuje do tego rachunku.

Ponadto kody OAuth 2.0 nie są wielokrotnego użytku. Na przykład używane protokoły OAuth 2.0 nie byłyby łatwe do wykorzystania przez inną witrynę. Co więcej, nowy protokół jest o wiele bardziej złożony niż oryginał.

Ale dla wielu osób prawdziwym wyzwaniem jest to, że OAuth 2.0 nie wydaje się oferować żadnej realnej przewagi ani poprawy w porównaniu z wersją 1.0. Hammer pisze, że jeśli pomyślnie wdrożysz wersję 1.0, nie ma powodu, aby aktualizować do wersji 2.0.

OAuth 2.0 jest jednak nadal bardzo żywy. Jeśli rozwiązuje krytykę i podnoszone problemy, może nadal znaleźć miejsce jako bardzo skuteczny protokół. Jednak w chwili pisania tego tekstu wersja 1.0 jest nadal uważana za oficjalną, stabilną i przetestowaną wersję OAuth. Niemniej jednak dla programistów, którzy chcą pracować z wielkimi nazwiskami w świecie online, bezpieczne wdrażanie tego protokołu może stać się kluczową umiejętnością w niezbyt odległej przyszłości.