• Idp
  • apache answer
  • community

Logto w akcji: Bezproblemowa integracja Apache Answer do uruchomienia społeczności dla użytkowników

Pokazuje, jak wykorzystać funkcję aplikacji 3-stronnej Logto do integracji Apache Answer, tworząc zjednoczoną platformę społecznościową, gdzie użytkownicy mogą płynnie uzyskiwać pomoc za pomocą swoich istniejących kont.

Yijun
Yijun
Developer

Przestań tracić tygodnie na uwierzytelnianie użytkowników
Uruchamiaj bezpieczne aplikacje szybciej z Logto. Zintegruj uwierzytelnianie użytkowników w kilka minut i skup się na swoim głównym produkcie.
Rozpocznij
Product screenshot

Zbudowanie świetnego produktu programowego to znaczące osiągnięcie, ale to naprawdę dopiero początek drogi.

Długoterminowy sukces i ewolucja każdej aplikacji zależy w dużej mierze od zrozumienia i angażowania jej użytkowników, co obejmuje zbieranie opinii, identyfikowanie punktów bólu, odpowiadanie na pytania i rozwiązywanie problemów —— kluczowy cykl napędzający iterację i poprawę.

W tym artykule:

  • Wyjaśnię, jak działa funkcja Trzeciej Strony Aplikacji (OIDC) Logto.
  • Pokażę, jak używać Logto, aby zintegrować Apache Answer do budowy społeczności dla twoich użytkowników, pozwalając im zadawać pytania, dzielić się pomysłami i uzyskać pomoc od twojego zespołu oraz innych użytkowników.

Największym atutem używania Logto jest to, że użytkownicy logują się do społeczności przy użyciu tego samego konta, co w twoim własnym systemie. Dzięki temu łatwo zapoznać się z aktualnym stanem użytkowników zadających pytania, eliminując potrzebę wielokrotnej wymiany komunikacji w celu zapytania o ich sytuację w twoim oprogramowaniu.

Czym jest Apache Answer

apache-answer.png

Apache Answer to otwartoźródłowa platforma Q&A, która łączy użytkowników i zespoły. Tworzy przestrzeń do dzielenia się wiedzą i wspólnego rozwiązywania problemów. Platforma oferuje funkcję podglądu Markdown w czasie rzeczywistym, zaawansowane wyszukiwanie i system głosowania na treści.

Platforma obsługuje logowanie OAuth 2.0 od razu po wyjęciu z pudełka. Dzięki temu jest naturalnie kompatybilna z istniejącymi dostawcami tożsamości, takimi jak Logto. Użytkownicy mogą się logować za pomocą swoich istniejących kont, bez konieczności tworzenia nowych danych uwierzytelniających specjalnie dla platformy społecznościowej.

Zrozumienie funkcji aplikacji trzeciej strony Logto

Gdy chcemy, aby użytkownicy logowali się do aplikacji trzeciej strony przy użyciu swoich kont Logto, Logto działa jako Dostawca Tożsamości (IdP) dla twojej aplikacji.

Pomyśl o tym jako o centralnym autorytecie odpowiedzialnym za weryfikację tożsamości twoich użytkowników. Gdy użytkownik loguje się do twojej głównej aplikacji, prawdopodobnie kieruje się do Logto, aby przeprowadzić proces uwierzytelniania (nazwa użytkownika/hasło, logowanie społecznościowe itd.). Gdy Logto pomyślnie zweryfikuje użytkownika, informuje twoją aplikację, „Tak, ten użytkownik jest legalny” i podaje niektóre podstawowe informacje o nim.

Ten koncept wykracza poza twoją główną aplikację. Logto zawiera potężną funkcję —— Aplikację Trzeciej Strony. Ta funkcja pozwala Logto pełnić rolę IdP nie tylko dla twojej własnej aplikacji, ale także dla innych zewnętrznych aplikacji, do których chcesz, aby twoi użytkownicy mieli dostęp.

Realizuje to za pomocą OpenID Connect (OIDC), czyli standardowej warstwy identyfikacyjnej zbudowanej na protokole OAuth 2.0. W prostych słowach, OIDC pozwala aplikacji (takiej jak Apache Answer, znanej jako Strona Ufająca lub Klient) żądać i odbierać informacje o tożsamości użytkownika od IdP (Logto).

Gdy skonfigurujesz aplikację OIDC w Logto dla Apache Answer, zasadniczo informujesz Logto: „Bądź gotów do uwierzytelniania użytkowników w imieniu Apache Answer, jeśli to poprosi, a jeśli użytkownik zatwierdzi, bezpiecznie przekaż Odpowiedzi niektóre podstawowe szczegóły tożsamości użytkownika.” Ta możliwość jest kluczem do odblokowania bezproblemowego jednokrotnego logowania (SSO) między twoją uwierzytelnioną przez Logto aplikacją a narzędziami trzeciej strony, takimi jak Apache Answer.

Tworzenie scenariusza: YourApp + Logto + Apache Answer

Przed zagłębieniem się w konfigurację, wyjaśnijmy komponenty zaangażowane w nasz scenariusz:

  1. YourApp: To twoja główna aplikacja webowa lub mobilna, w której użytkownicy już się rejestrują i logują. Kluczowo, YourApp jest zintegrowana z Logto dla uwierzytelniania.
  2. Logto: Twoja centralna platforma IDM, działająca jako IdP. Twoi użytkownicy mają konta zarządzane przez Logto.
  3. Apache Answer: Otwartoźródłowa platforma Q&A, którą chcesz wdrożyć jako społecznościowe centrum dla użytkowników YourApp. Naszym celem jest skonfigurowanie Odpowiedzi do używania Logto do logowania, zamiast jej lokalnego systemu nazwy użytkownika/hasła.

Praktyczne kroki: Konfiguracja Logto i Apache Answer

Teraz przejdźmy do zastosowań praktycznych. Proces obejmuje konfigurację zarówno w Logto, jak i Apache Answer.

Instalacja Apache Answer

Postępuj zgodnie z oficjalnym przewodnikiem instalacji, aby zainstalować Apache Answer. Ostatecznie możesz uzyskać do niego dostęp pod adresem http://localhost:9080 domyślnie.

Utwórz aplikację OIDC w Logto

  1. Zaloguj się do swojej konsoli Logto.
  2. Przejdź do strony aplikacji.
  3. Kliknij przycisk „Utwórz aplikację” w prawym górnym rogu strony (jeśli nie widzisz tego przycisku, kliknij „pokaż wszystko” na dole listy ramowych).
  4. Wybierz kategorię „Aplikacja Trzeciej Strony”, a następnie wybierz „OIDC”.
  5. Wprowadź nazwę aplikacji (np. „Społeczność Apache Answer”) i opis (opcjonalnie).
  6. Kliknij „Utwórz”, aby zakończyć tworzenie. Po utworzeniu aplikacji zostaniesz przekierowany na stronę szczegółów aplikacji.
  7. Na stronie szczegółów dodaj http://localhost:9080/answer/api/v1/connector/redirect/basic do pola URI przekierowania.
  8. Kliknij „Zapisz”, aby zapisać aplikację.

Skonfiguruj uprawnienia dla Apache Answer

  1. Na stronie szczegółów aplikacji przejdź do zakładki Uprawnienia.
  2. W sekcji Przyznaj uprawnienia do danych użytkownika zobaczysz komunikat: „Nie masz jeszcze skonfigurowanych żadnych uprawnień dostępu do danych użytkownika.”
  3. Kliknij przycisk Dodaj, aby skonfigurować, jakie informacje o użytkownikach Apache Answer może uzyskać.
  4. Wybierz niezbędne zakresy (profile i email), aby umożliwić Apache Answer otrzymanie podstawowych informacji o użytkowniku podczas logowania.
  5. Zapisz swoje ustawienia uprawnień.

logto-grant-permissions.png

Skonfiguruj logowanie OAuth w Apache Answer

  1. Zaloguj się do Apache Answer za pomocą konta administratora.
  2. Odwiedź dashboard Admin pod http://localhost:9080/admin.
  3. Przejdź do Plugins -> Installed Plugins i aktywuj wtyczkę OAuth2 Basic.
  4. Przejdź do strony wtyczki OAuth2 Basic.
  5. Wypełnij następujące informacje zgodnie z utworzoną właśnie aplikacją trzeciej strony Logto:
    • Nazwa: Nazwa twojego łącznika, która będzie pokazana na stronie logowania
    • Client ID: „ID aplikacji” z strony szczegółów aplikacji.
    • Client Secret: „Sekret aplikacji” z sekcji „Punkty końcowe i poświadczenia” na stronie szczegółów.
    • Authorize URL: „Punkt autoryzacji” z sekcji „Punkty końcowe i poświadczenia” na stronie szczegółów.
    • Token URL: „Punkt tokenu” z sekcji „Punkty końcowe i poświadczenia” na stronie szczegółów.
    • User JSON URL: „Punkt informacji o użytkowniku” z sekcji „Punkty końcowe i poświadczenia” na stronie szczegółów.
    • User ID JSON Path: sub.
    • User Display Name JSON Path: name.
    • User Username JSON Path: username.
    • User Email JSON Path: email.
    • User Avatar JSON Path: picture.
    • User Email Verified JSON Path: email_verified.
    • Scopes: openid,profile,email.
  6. Zapisz konfigurację wtyczki w Apache Answer.

Uwaga: Pamiętaj, aby uwzględnić zakres openid, który jest wymagany przez standard OIDC do pobrania informacji o użytkowniku z User JSON URL. Ponieważ aplikacja trzeciej strony Logto jest zaimplementowana w oparciu o OIDC, a wtyczka Apache Answer używa OAuth 2.0, ten zakres jest niezbędny do zapewnienia poprawnego przebiegu procesów uwierzytelniania pomiędzy dwoma systemami.

Punkt kontrolny: Testowanie integracji

Przy skonfigurowanych zarówno Logto, jak i Apache Answer, zobaczmy płynne doświadczenie użytkownika:

  1. Odwiedź swoje Apache Answer, zobaczysz przycisk „Połącz z Logto” na stronie logowania.

connect-with-logto.png

  1. Kliknij przycisk, zostaniesz przekierowany na stronę logowania Logto.

  2. Po kliknięciu przycisku „Połącz z Logto”, zostaniesz przekierowany na stronę Logto, gdzie możesz zalogować się za pomocą swojego istniejącego konta. Następnie zobaczysz stronę zgody, na której poprosisz o zgodę na udostępnienie swoich informacji Apache Answer.

consent-page.png

  1. Po zatwierdzeniu zgody zostaniesz przekierowany z powrotem do Apache Answer i zobaczysz, że jesteś zalogowany!

answer-dashboard.png

Uwaga: Apache Answer sprawdza, czy zalogowany użytkownik ma zweryfikowany adres email. Gdy użytkownik nie ma informacji o emailu, Apache Answer poprosi ich o podanie adresu email dla weryfikacji.

Podsumowanie korzyści z integracji

Dlaczego przejść przez te wszystkie kroki? Korzyści są znaczące:

  • Doświadczenie użytkownika: To jest najbardziej oczywista korzyść. Użytkownicy nie muszą tworzyć ani pamiętać kolejnego zestawu danych uwierzytelniających. Używają logowania, któremu już ufają, co zapewnia płynne, bezproblemowe wejście do społeczności. To drastycznie obniża barierę uczestnictwa.
  • Efektywność rozwoju: Całkowicie unikasz potrzeby budowania i utrzymywania oddzielnych procesów uwierzytelniania użytkowników, rejestracji, funkcji resetowania hasła, itp. w Apache Answer. Natychmiast korzystasz z już istniejącej bazy użytkowników Logto, co pozwala ci szybciej uruchomić społeczność.
  • Bezpieczeństwo: Uwierzytelnianie delegowane jest do Logto, twojego wyspecjalizowanego dostawcy IDM, który prawdopodobnie radzi sobie z aspektami bezpieczeństwa, takimi jak uwierzytelnianie wieloskładnikowe (MFA), polityki haseł i ochrona przed siłę brutę bardziej solidnie, niż mogłoby to zrobić niestandardowe wdrożenie w Answer. Polegasz na dojrzałym i dobrze przetestowanym standardzie OIDC.
  • Wartość produktu & Efektywność wsparcia: Natychmiast dodajesz cenną funkcję społeczności bez fragmentacji tożsamości użytkownika. Jak wskazano wcześniej, wiedza, że użytkownik społeczności to ten sam, co użytkownik produktu, umożliwia zespołowi wsparcia dostarczanie znacznie bardziej kontekstowej i efektywnej pomocy, potęgując satysfakcję i zaangażowanie użytkowników.

Podsumowanie

Integracja narzędzi trzeciej strony jest niezbędna do budowy bogatego ekosystemu aplikacyjnego, ale zarządzanie tożsamościami użytkowników w tych narzędziach może być dużym bólem głowy. Jak pokazaliśmy na przykładzie Apache Answer, funkcja aplikacji trzeciej strony (OIDC) Logto dostarcza potężny i standardowy sposób na zamknięcie tej luki.

Konfigurując Logto jako centralnego Dostawcę Tożsamości dla Apache Answer, możesz efektywnie „na jedno kliknięcie” włączyć dedykowaną przestrzeń społecznościową dla istniejących użytkowników, oferując im płynne doświadczenie logowania i dostarczając twojemu zespołowi korzyści płynące z jednolitej tożsamości użytkownika.

Co jeszcze bardziej ekscytujące, ten wzorzec nie jest ograniczony do platform Q&A; można go zastosować do pulpitów analitycznych, narzędzi do zarządzania projektami, wewnętrznych narzędzi i niezliczonych innych aplikacji, co pozwala budować spójny i przyjazny dla użytkownika ekosystem programowy.

Zostań z nami na przyszłe artykuły, w których możemy eksplorować integrowanie innych przydatnych narzędzi za pomocą Logto!