• auth
  • integracja
  • oauth
  • oidc
  • tożsamość

Usprawnij uwierzytelnianie OAuth i OIDC z Logto

Nasza społeczność wyraziła zainteresowanie wykorzystaniem Logto jako Dostawcy Tożsamości dla niektórych produktów, takich jak wtyczki do Outline czy ChatGPT. W teorii Logto może działać jako dostawca OAuth lub OIDC (OpenID Connect), o ile produkt, który chcesz zintegrować, obsługuje któryś z tych protokołów.

Gao
Gao
Founder

Logto to łatwe w użyciu rozwiązanie tożsamościowe oferujące wszystkie niezbędne funkcje. Obsługuje różne metody logowania, takie jak nazwy użytkowników, e-maile, numery telefonów oraz popularne logowania społecznościowe, takie jak Google i GitHub. Niezależnie od tego, czy jesteś osobą indywidualną, czy firmą każdej wielkości, Logto dostarcza idealne rozwiązanie Zarządzania Tożsamością i Dostępem klienta (CIAM) dostosowane do specyficznych potrzeb twojego projektu.

Wprowadzenie

Nasza społeczność wyraziła zainteresowanie wykorzystaniem Logto jako Dostawcy Tożsamości dla niektórych produktów, takich jak wtyczki do Outline czy ChatGPT. W teorii Logto może działać jako dostawca OAuth 2.0 (OAuth) lub OpenID Connect (OIDC), o ile produkt, który chcesz zintegrować, obsługuje któryś z tych protokołów.

W tym artykule oferujemy ogólny samouczek dotyczący integracji OAuth lub OIDC, używając Logto jako Dostawcy Tożsamości. Dodatkowo, dostarczamy dedykowane samouczki dla konkretnych integracji, w tym:

Chociaż pewne szczegóły mogą się różnić między produktami, podstawowa konfiguracja pozostaje ogólna. Jeśli masz jakiekolwiek pytania lub potrzebujesz dodatkowej pomocy, zachęcamy do dołączenia do naszego serwera Discord w celu dalszej dyskusji.

Zacznijmy!

Wymagania wstępne

Zanim zaczniemy, upewnij się, że masz:

  • Działającą instancję Logto lub dostęp do konta Logto Cloud.
  • Produkt, który obsługuje zewnętrznego dostawcę tożsamości OAuth lub OIDC (nazywany „produktem”).

Konfigurowanie Logto

Jeśli hostujesz Logto samodzielnie, zapoznaj się z dokumentacją Logto "Pierwsze kroki" aby skonfigurować swoją instancję Logto.

Otwórz Konsolę Logto, wchodząc na URL https://cloud.logto.io/ jeśli używasz Logto Cloud lub użyj endpointu, który samodzielnie skonfigurowałeś.

Tworzenie aplikacji

Przejdź do zakładki "Aplikacje" i kliknij "Utwórz aplikację".

Zakładka "Aplikacje" w Konsoli Logto

W oknie modalnym, które się pojawi, wybierz "Tradycyjna sieć" i podaj nazwę aplikacji, na przykład "Moja Aplikacja". Kliknij "Utwórz aplikację".

Modal "Utwórz aplikację" pokazuje kilka typów aplikacji

Zostaniesz skierowany na stronę samouczka w Logto. Kliknij "Pomiń" w prawym górnym rogu, aby przejść do strony szczegółów aplikacji.

Strona szczegółów aplikacji

Konfiguracja URI przekierowania

W sekcji "Redirect URIs" wprowadź wartość podaną w dokumentacji produktu. Zwykle jest dynamiczna w oparciu o twoje ID lub konfigurację endpointu w produkcie. Na przykład, w wtyczkach ChatGPT, URI przekierowania jest:

https://chat.openai.com/aip/[twój-plugin-id]/oauth/callback

Jeśli twój identyfikator wtyczki to foo123, wartość powinna być:

https://chat.openai.com/aip/foo123/oauth/callback

Sekcja konfiguracji "Redirect URIs"

Alternatywnie może być nazywana "Redirect URL", "Callback URI" lub "Callback URL”.

Opcjonalnie: Upewnij się, że Logto wydaje Refresh Token

Niektóre produkty mogą wymagać Refresh Token podczas wysyłania żądań wymiany tokenów do Logto. Dla OAuth upewnij się tylko, że obejmuje zakres offline_access. Zgodnie z protokołem OIDC, domyślnie produkt musi również dodać parametr wyszukiwania prompt=consent w początkowym żądaniu autoryzacji dla przepływu Authorization Code; inaczej Refresh Token nie zostanie wydany.

Jeśli produkt używa OAuth lub nie dodaje parametru prompt=consent ani zakresu offline_access, ale wymaga Refresh Token (np. wtyczki ChatGPT), przewiń do sekcji "Zaawansowane ustawienia" i włącz "Zawsze wydawaj Refresh Token".

Przełącznik "Zawsze wydawaj Refresh Token"

To wszystko!

Kliknij przycisk "Zapisz zmiany" na dole. Trzymaj tę stronę otwartą, ponieważ będzie użyteczna do dalszej konfiguracji.

Pasek akcji pokazuje przycisk "Zapisz zmiany"

Konfiguracja produktu

Postępuj zgodnie z krokami opisanymi w dokumentacji produktu dotyczącej konfiguracji OAuth lub OIDC.

Podstawowa konfiguracja

Większość wymaganych wartości konfiguracji można znaleźć na stronie szczegółów aplikacji Logto. Niektóre nazwy mogą mieć aliasy, zapoznaj się więc z poniższą tabelą referencyjną:

Nazwa LogtoAliasZastosowanie
ID aplikacjiIdentyfikator aplikacji, ID klienta
Sekret aplikacjiSekret aplikacji, Sekret klienta
Redirect URIRedirect URL, Callback URI, Callback URLPrzekierowanie po zalogowaniu
Post Sign-out Redirect URIsPost Sign-out Redirect URL, Post Logout (Redirect) URI, Post Logout (Redirect) URLPrzekierowanie po wylogowaniu
Endpoint autoryzacjiEndpoint autoryzacji URI, Endpoint autoryzacji URL, Endpoint autoryzacjiPoczątkowe uwierzytelnianie
Endpoint tokenaEndpoint tokena URL, Endpoint tokena URIŻądanie przyznania tokena
Endpoint informacji o użytkownikuEndpoint informacji o użytkowniku URL, Endpoint informacji o użytkowniku URI, Endpoint informacji o użytkowniku URL, Endpoint informacji o użytkowniku URIPobierz informacje o bieżącym użytkowniku

Dla nowoczesnych produktów „endpoint odkrycia” może być wystarczający. W takim przypadku zamień auth na .well-known/openid-configuration w endpointzie autoryzacji. Na przykład, jeśli endpoint autoryzacji to https://default.logto.app/oidc/auth, endpoint odkrycia byłby https://default.logto.app/oidc/.well-known/openid-configuration.

Opcjonalnie: konfiguracja zakresu

Jeśli produkt obsługuje OIDC lub wymaga wydania ID Token, dodaj openid profile do konfiguracji zakresu. Odnieś się do tabeli zakresu roszczeń poniżej:

RoszczenieTypWymagany Zakres
subciągopenid
nameciągprofile
usernameciągprofile
pictureciągprofile
emailciągemail
email_verifiedbooleanemail
phone_numberciągphone
phone_number_verifiedbooleanphone

Punkt kontrolny: Przetestuj integrację Logto

Kliknij przycisk logowania w produkcie, zostaniesz skierowany do doświadczenia logowania Logto.

Doświadczenie Logowania Logto

Jeśli wszystko jest skonfigurowane poprawnie, po zakończeniu procesu logowania lub rejestracji w Logto, zostaniesz ponownie przekierowany do produktu bez żadnych błędów.

To kończy nasz przewodnik po usprawnieniu uwierzytelniania OAuth i OIDC za pomocą Logto. Jeśli napotkasz jakiekolwiek problemy podczas integracji, nie wahaj się skontaktować z nami poprzez e-mail [email protected] lub dołącz do naszego serwera Discord!

Dalsze lektury