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.
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:
- Implementacja uwierzytelniania użytkowników wtyczek ChatGPT z Logto
- Uproszczenie uwierzytelniania w Outline z Logto
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ę".
W oknie modalnym, które się pojawi, wybierz "Tradycyjna sieć" i podaj nazwę aplikacji, na przykład "Moja Aplikacja". Kliknij "Utwórz aplikację".
Zostaniesz skierowany na stronę samouczka w Logto. Kliknij "Pomiń" w prawym górnym rogu, aby przejść do strony 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
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".
To wszystko!
Kliknij przycisk "Zapisz zmiany" na dole. Trzymaj tę stronę otwartą, ponieważ będzie użyteczna do dalszej konfiguracji.
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 Logto | Alias | Zastosowanie |
---|---|---|
ID aplikacji | Identyfikator aplikacji, ID klienta | |
Sekret aplikacji | Sekret aplikacji, Sekret klienta | |
Redirect URI | Redirect URL, Callback URI, Callback URL | Przekierowanie po zalogowaniu |
Post Sign-out Redirect URIs | Post Sign-out Redirect URL, Post Logout (Redirect) URI, Post Logout (Redirect) URL | Przekierowanie po wylogowaniu |
Endpoint autoryzacji | Endpoint autoryzacji URI, Endpoint autoryzacji URL, Endpoint autoryzacji | Początkowe uwierzytelnianie |
Endpoint tokena | Endpoint tokena URL, Endpoint tokena URI | Żądanie przyznania tokena |
Endpoint informacji o użytkowniku | Endpoint informacji o użytkowniku URL, Endpoint informacji o użytkowniku URI, Endpoint informacji o użytkowniku URL, Endpoint informacji o użytkowniku URI | Pobierz 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:
Roszczenie | Typ | Wymagany Zakres |
---|---|---|
sub | ciąg | openid |
name | ciąg | profile |
username | ciąg | profile |
picture | ciąg | profile |
ciąg | ||
email_verified | boolean | |
phone_number | ciąg | phone |
phone_number_verified | boolean | phone |
Punkt kontrolny: Przetestuj integrację Logto
Kliknij przycisk logowania w produkcie, zostaniesz skierowany do doświadczenia 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!