Co to jest OAuth?
Dowiedz się, do czego służy standard OAuth i jak jest on używany do autoryzowania dostępu między aplikacjami i usługami bez naruszania informacji poufnych.
Standard OAuth — objaśnienie
OAuth to standard technologiczny, który umożliwia autoryzowanie jednej aplikacji lub usługi na potrzeby logowania się do innej bez ujawniania informacji prywatnych, takich jak hasła. Jeśli kiedykolwiek otrzymano wiadomość, na przykład: „Zalogować się za pomocą serwisu Facebook?” czy „Zezwolić tej aplikacji na dostęp do Twojego konta?” widzisz standard OAuth w działaniu.
OAuth to skrót od Open Authorization— a nieod authentication, jak często się przypuszcza. Uwierzytelnianie to proces, który weryfikuje Twoją tożsamość. Standard OAuth obejmuje Twoją tożsamość, ale jego celem jest udzielenie uprawnień do bezproblemowego łączenia się z Tobą za pomocą różnych aplikacji i usług bez konieczności tworzenia nowego konta. Standard OAuth zapewnia prostotę środowiska, udostępniając opcję autoryzowania dwóch aplikacji do udostępniania niektórych danych bez ujawniania poświadczeń. Zapewnia równowagę między wygodą a zabezpieczeniami.
Standard OAuth jest przeznaczony do pracy z protokołem HTTP (Hypertext Transfer Protocol). Używa tokenów dostępu, aby potwierdzić Twoją tożsamość i umożliwić jej interakcję z inną usługą w Twoim imieniu. W przypadku naruszenia zabezpieczeń danych przez tę drugą usługę Twoje poświadczenia w pierwszej usłudze pozostaną bezpieczne. OAuth to powszechnie przyjęty protokół typu open-standard i większość deweloperów witryn internetowych i aplikacji korzysta z niego.
Co ważne, protokół OAuth nie udziela aplikacji lub usłudze innej firmy nieograniczonego dostępu do Twoich danych. Częścią protokołu jest określenie, do jakich danych może uzyskać dostęp inna firma i co może zrobić z tymi danymi. Ustawienie, takie jak ograniczenia i ogólna ochrona tożsamości, jest szczególnie istotne w scenariuszach biznesowych, w których wiele osób ma dostęp do wielu poufnych i zastrzeżonych informacji.
Jak działa standard OAuth?
Tokeny dostępu sprawiają, że protokół OAuth można bezpiecznie używać. Token dostępu to część danych zawierająca informacje o użytkowniku i zasobie, dla których jest przeznaczony token. Token będzie również zawierać określone reguły udostępniania danych.
Na przykład możesz chcieć udostępnić zdjęcia z profilu w mediach społecznościowych przy użyciu aplikacji do edycji zdjęć, ale chcesz mieć tylko dostęp do niektórych zdjęć. Nie musi również uzyskiwać dostępu do swoich bezpośrednich wiadomości ani listy znajomych. Token autoryzuje dostęp tylko do zatwierdzonych danych. Mogą również istnieć reguły określające, kiedy aplikacja może używać danego tokenu — może to być jednorazowe użycie lub użycie w sposób cykliczny — i określające datę wygaśnięcia.
Proces OAuth to głównie interakcja między komputerami poprzez dokonanie zaledwie kilku punktów dotykowych po stronie użytkownika. W niektórych scenariuszach może nie być konieczne zatwierdzenie, ponieważ jest ono obsługiwane w tle przez oprogramowanie w trybie dyskretnym. Dwa przykłady użycia protokołu OAuth można znaleźć w scenariuszu pracy przedsiębiorstwa, w którym platforma tożsamości obsługuje połączenia między zasobami w celu zmniejszenia konfliktów IT dla dużej liczby użytkowników lub interakcji między niektórymi inteligentnymi urządzeniami.
Przykłady technologii OAuth
Podobnie jak wiele technologii, które upraszczają coś żmudnego — w tym przypadku, ręczne tworzenie kont w wielu aplikacjach — standard OAuth został niemal powszechnie wdrożony przez twórców aplikacji. Ma wiele różnych przypadków użycia na potrzeby użytkowników i firm.
Aby podać jeden przykład użycia protokołu OAuth, załóżmy, że używasz aplikacji Microsoft Teams jako narzędzia do współpracy i chcesz uzyskać dostęp do dodatkowych informacji o osobach, z którymi pracujesz, zarówno w organizacji, jak i poza nią. Decydujesz się włączyć integrację z serwisem LinkedIn, aby móc dowiedzieć się więcej o osobach podczas interakcji z nimi bez opuszczania aplikacji Teams. Firmy Microsoft i LinkedIn będą następnie używać standardu OAuth do autoryzowania łączenia kont z tożsamością firmy Microsoft.
Innym scenariuszem użycia standardu OAuth byłoby pobranie aplikacji do budżetowania, aby ułatwić śledzenie wydatków za pomocą alertów i ułatwień wizualnych, takich jak wykresy. Aby wykonać swoją pracę, aplikacja będzie potrzebować dostępu do niektórych danych bankowych. Możesz zainicjować żądanie połączenia konta bankowego z aplikacją, autoryzując tylko dostęp do salda konta i transakcji. Aplikacja i bank będą używać protokołu OAuth do wymiany informacji w Twoim imieniu bez ujawniania poświadczeń logowania bankowego do aplikacji.
Innym przykładem użycia standardu OAuth może być to, że jesteś deweloperem korzystającym z usługi GitHub i wiesz, że jest dostępna aplikacja innej firmy, którą można zintegrować z Twoim kontem w celu przeprowadzania zautomatyzowanych przeglądów kodu. Przejdź do platformy handlowej serwisu GitHub i pobierz aplikację. Następnie zostanie wyświetlony monit o autoryzację połączenia z aplikacją przy użyciu tożsamości serwisu GitHub — procesu, który będzie obsługiwany przy użyciu protokołu OAuth. Aplikacja do przeglądania może następnie uzyskać dostęp do kodu bez konieczności logowania się do obu usług za każdym razem.
Jaka jest różnica między standardem OAuth 1.0 a OAuth 2.0?
Oryginalny standard OAuth 1.0 został opracowany tylko na potrzeby witryn internetowych. Nie jest on obecnie powszechnie używany, ponieważ standard OAuth 2.0 jest przeznaczony zarówno dla aplikacji, jak i witryn internetowych, a ponadto jest szybszy i łatwiejszy do zaimplementowania. Standard OAuth 1.0 nie jest skalowany tak jak OAuth 2.0 i ma tylko trzy możliwe przepływy autoryzacji w porównaniu do sześciu przy użyciu standardu OAuth 2.0.
Jeśli planujesz korzystać ze protokołu OAuth, najlepiej jest używać wersji 2.0 od samego początku. Niestety, nie można uaktualnić protokołu OAuth 1.0 do wersji OAuth 2.0. Z założenia protokół OAuth 2.0 miał być radykalnym przeprojektowaniem protokołu OAuth 1.0, a kilka dużych firm technologicznych przekazało opinie na temat jego projektu. Witryna internetowa może obsługiwać zarówno protokół OAuth 1.0, jak i protokół OAuth 2.0, ale twórcy zamierzali, aby wersja 2.0 całkowicie zastąpiła wersję 1.0.
OAuth a OIDC
Protokoły OAuth i Open ID Connect (OIDC) są ściśle ze sobą powiązane. Są one podobne, ponieważ oba odgrywają rolę w udzielaniu jednej aplikacji dostępu do zasobów innej aplikacji w imieniu użytkownika. Różnica polega na tym, że podczas gdy protokół OAuth jest używany do autoryzacji dostępu do zasobów, identyfikator OIDC jest używany do uwierzytelniania tożsamości danej osoby. Oba te protokoły mają do odegrania rolę w umożliwianiu udostępniania informacji przez dwie niepowiązane aplikacje bez naruszania danych użytkownika.
Dostawcy tożsamości zwykle używają jednocześnie protokołów OAuth 2.0 i OIDC. Protokół OIDC został opracowany specjalnie w celu zwiększenia możliwości protokołu OAuth 2.0 poprzez dodanie do niego warstwy tożsamości. Ponieważ protokół OICD jest oparty na protokole OAuth 2.0, nie jest on wstecznie zgodny z protokołem OAuth 1.0.
Wprowadzenie do standardu OAuth
Korzystanie z protokołu OAuth 2.0 z witrynami internetowymi i aplikacjami może znacznie poprawić środowisko użytkowników lub pracowników, upraszczając proces uwierzytelniania tożsamości. Aby rozpocząć, zainwestuj w rozwiązanie dostawcy tożsamości, takie jak Microsoft Entra, które chroni użytkowników i dane dzięki wbudowanym zabezpieczeniom
Rozwiązanie Tożsamość Microsoft Entra (dawniej usługa Azure Active Directory) SMART obsługuje wszystkie przepływy protokołu OAuth 2.0. Deweloperzy aplikacji mogą używać identyfikatora jako dostawcy uwierzytelniania opartego na standardach, aby ułatwić im integrację nowoczesnych możliwości tożsamości w skali przedsiębiorstwa z aplikacjami. Administratorzy IT mogą używać go do kontrolowania dostępu.
Dowiedz się więcej o rozwiązaniach zabezpieczających firmy Microsoft
-
Poznawanie rozwiązania Microsoft Entra
Chroń tożsamości i zabezpieczaj dostęp w chmurach dzięki holistycznej rodzinie rozwiązań.
-
Tożsamość Microsoft Entra (wcześniej usługa Azure Active Directory)
Chroń dostęp do zasobów i danych za pomocą silnego uwierzytelniania i dostępu adaptacyjnego opartego na ryzyku.
-
Wbudowane zaufanie w Twoich aplikacjach
Zaimplementuj logowanie jednokrotne, aby pracownicy mogli uzyskiwać dostępu do wszystkich potrzebnych zasobów przy użyciu jednego poświadczenia.
-
Usprawnianie środowisk logowania
Zaimplementuj logowanie jednokrotne, aby pracownicy mogli uzyskiwać dostępu do wszystkich potrzebnych zasobów przy użyciu jednego poświadczenia.
-
Ochrona przed atakami
Użyj uwierzytelniania wieloskładnikowego, aby zwiększyć ochronę zasobów organizacji.
-
Korzystanie ze standardu OAuth w celu upraszczania dostępu do danych poczty e-mail
Dowiedz się, jak uwierzytelniać połączenia z aplikacjami przy użyciu starszych protokołów.
Często zadawane pytania
-
OAuth to skrót od Open Authorization i jest to standard technologiczny, który umożliwia autoryzowanie jednej aplikacji lub usługi na potrzeby logowania się do innej bez ujawniania informacji prywatnych, takich jak hasła. Gdy aplikacja poprosi o autoryzację w celu wyświetlenia informacji o profilu, używa w tym celu standardu OAuth.
-
Standard OAuth działa poprzez wymianę tokenów dostępu — części danych zawierających informacje o użytkowniku i zasobie, dla których jest przeznaczony token. Jedna aplikacja lub witryna internetowa wymienia zaszyfrowane informacje o użytkowniku z inną aplikacją i zawiera określone reguły udostępniania danych. Mogą również istnieć reguły określające, kiedy aplikacja może używać danego tokenu, i określające datę wygaśnięcia. Proces OAuth to głównie interakcja między komputerami poprzez dokonanie zaledwie kilku punktów dotykowych po stronie użytkownika, o ile istnieją.
-
Wiele firm korzysta z protokołu OAuth, aby uprościć dostęp do aplikacji i witryn internetowych innych firm bez ujawniania haseł ani poufnych danych użytkowników. Firmy Google, Amazon, Microsoft, Facebook i Twitter używają go do udostępniania informacji o swoich kontach w wielu różnych celach, w tym w celu uproszczenia zakupów. Platforma tożsamości firmy Microsoft używa protokołu OAuth do autoryzowania uprawnień do kont służbowych, kont osobistych, kont społecznościowych i kont w grach.
-
Protokoły OAuth i Open ID Connect (OIDC) są ściśle ze sobą powiązane. Są one podobne, ponieważ oba odgrywają rolę w udzielaniu jednej aplikacji dostępu do zasobów innej aplikacji w imieniu użytkownika. Różnica polega jednak na tym, że podczas używania protokołu OIDC do autoryzacji tożsamości użytkownika, protokół OAuth jest używany do uwierzytelniania dostępu do zasobów. Oba te protokoły mają do odegrania rolę w umożliwianiu udostępniania informacji przez dwie niepowiązane aplikacje bez naruszania danych użytkownika.
-
Istnieje wiele różnic między protokołami OAuth 1.0 i OAuth 2.0, ponieważ protokół OAuth 2.0 został zaprojektowany w sposób umożliwiający radykalne przeprojektowanie protokołu OAuth 1.0, co sprawia, że jest on prawie przestarzały. Protokół OAuth 1.0 został opracowany tylko dla witryn internetowych, natomiast protokół OAuth 2.0 jest przeznaczony zarówno dla aplikacji, jak i witryn internetowych. Protokół OAuth 2.0 jest szybszy i łatwiejszy do zaimplementowania, może być skalowany i ma sześć możliwych przepływów autoryzacji w porównaniu z trzema przepływami protokołu OAuth 1.0.
Obserwuj platformę Microsoft 365