Logto i aktion: Sömlös integration av Apache Answer för att lansera en community för dina användare
Visar hur man utnyttjar Logtos funktion för tredjepartsappar för att integrera Apache Answer, vilket skapar en enhetlig communityplattform där användare kan få support sömlöst med sina befintliga konton.
Att bygga en bra mjukvaruprodukt är en betydande prestation, men det är egentligen bara början på resan.
Den långsiktiga framgången och utvecklingen av varje applikation beror starkt på att förstå och engagera sig med sina användare, vilket innebär att samla in feedback, identifiera problem, besvara frågor och lösa problem — en nyckelcykel som driver iteration och förbättring.
I denna artikel kommer jag att:
- Förklara hur Logtos funktion för tredjepartsapplikationer (OIDC) fungerar.
- Visa dig hur du använder Logto för att integrera Apache Answer för att bygga en community för dina användare, vilket låter dem ställa frågor, dela idéer och få hjälp från ditt team och andra användare.
Höjdpunkten med att använda Logto är att användarna loggar in på communityn med samma konto som i ditt eget system. Detta gör att du enkelt kan veta den aktuella statusen för användarna som ställer frågor, vilket eliminerar behovet av flera utbyten fram och tillbaka för att fråga om deras situation i din mjukvara.
Vad är Apache Answer
Apache Answer är en öppen källkod Q&A-plattform som kopplar samman användare och team. Den skapar en plats för att dela kunskap och lösa problem tillsammans. Plattformen erbjuder realtidsmarkering, avancerad sökning och ett röstningssystem för innehåll.
Plattformen stöder OAuth 2.0-inloggning direkt. Detta gör den naturligt kompatibel med befintliga identitetsleverantörer som Logto. Användare kan logga in med sina befintliga konton utan att skapa nya inloggningsuppgifter specifikt för communityplattformen.
Förstå Logtos funktion för tredjepartsapplikationer
När vi vill att användare ska logga in på tredjepartsapplikationer med sina Logto-konton fungerar Logto som applikationens Identity Provider (IdP).
Tänk på det som en central auktoritet ansvarig för att verifiera vilka dina användare är. När en användare loggar in på din huvudapplikation omdirigeras de troligen till Logto för att hantera autentiseringsprocessen (användarnamn/lösenord, social inloggning, etc.). När Logto framgångsrikt verifierar användaren säger det till din applikation, "Ja, denna användare är legitim," och tillhandahåller lite grundläggande information om dem.
Detta koncept sträcker sig bortom bara din primära applikation. Logto inkluderar en kraftfull funktion — Tredjepartsapplikation. Denna funktion låter Logto utföra sin IdP-roll inte bara för din egen applikation, utan för andra externa applikationer som du vill att dina användare ska få åtkomst till.
Det uppnås med hjälp av OpenID Connect (OIDC) som är ett standardidentitetslager byggt på toppen av OAuth 2.0-protokollet. Enkelt uttryckt tillåter OIDC en applikation (som Apache Answer, känd som Relying Party eller Client) att begära och ta emot information om en användares identitet från en IdP (Logto).
När du konfigurerar en OIDC-applikation inom Logto för Apache Answer, säger du i huvudsak till Logto: "Var beredd att autentisera användare för Apache Answer om det begär det, och om användaren godkänner, skicka säkert grundläggande användaridentitetsdetaljer till Answer." Denna förmåga är nyckeln till att låsa upp en sömlös enkel inloggning (SSO) mellan din Logto-autentiserade applikation och tredjepartsverktyg som Apache Answer.
Ställ rätt förutsättningar: DinApp + Logto + Apache Answer
Innan vi dyker in i konfigurationen, låt oss klargöra de involverade komponenterna i vår situation:
- DinApp: Detta är din primära webb- eller mobilapplikation där användare redan registrerar sig och loggar in. Viktigt, DinApp är integrerat med Logto för autentisering.
- Logto: Din centrala IAM-plattform, som fungerar som IdP. Dina användare har konton som hanteras av Logto.
- Apache Answer: Öppenkällkod-Q&A-plattformen du vill distribuera som en communityplattform för DinApps användare. Vårt mål är att konfigurera Answer för att använda Logto för inloggning istället för sitt eget lokala användarnamn/lösenordsystem.
Praktiska steg: Konfigurera Logto och Apache Answer
Nu låt oss bli praktiska. Processen innebär konfiguration i både Logto och Apache Answer.
Installera Apache Answer
Följ den officiella installationsguiden för att installera Apache Answer. Och slutligen kan du få åtkomst till det på http://localhost:9080
som standard.
Skapa en OIDC-applikation i Logto
- Logga in på din Logto Console.
- Navigera till applikationssidan.
- Klicka på "Skapa applikation"-knappen i övre högra hörnet av sidan (om du inte ser denna knapp, klicka på "visa alla" längst ner i ramlistan).
- Välj "Tredjepartsapplikation" kategori, välj sedan "OIDC".
- Ange applikationsnamn (t.ex., "Apache Answer Community") och beskrivning (valfritt).
- Klicka på "Skapa" för att slutföra skapandet. Efter att du har skapat applikationen omdirigeras du till applikationsdetaljsidan.
- På detaljsidan, lägg till
http://localhost:9080/answer/api/v1/connector/redirect/basic
i Redirect URI-fältet. - Klicka på "Spara" för att spara applikationen.
Konfigurera behörigheter för Apache Answer
- På applikationsdetaljsidan, navigera till Behörigheter-fliken.
- Under Tilldela behörigheter för användardata, ser du ett meddelande som säger "Du har ännu inte konfigurerat några beviljade behörigheter för användardata."
- Klicka på Lägg till-knappen för att konfigurera vilken användarinformation Apache Answer kan få åtkomst till.
- Välj de nödvändiga scoperna (
profile
ochemail
) för att låta Apache Answer motta grundläggande användarinformation vid inloggning. - Spara dina behörighetsinställningar.
Konfigurera OAuth-inloggning i Apache Answer
- Logga in på ditt Apache Answer med administratörskontot.
- Besök Admin-instrumentbrädan på
http://localhost:9080/admin
. - Navigera till Plugins -> Installed Plugins och aktivera OAuth2 Basic-plugin.
- Navigera till OAuth2 Basic-plugin-sidan.
- Fyll i följande information enligt Logtos tredjepartsapplikation du just skapade:
- Name: Namnet på din anslutare som kommer att visas på inloggningssidan
- Client ID: "App ID" från applikationsdetaljsidan.
- Client Secret: "App Secret" från "Endpoints & Credentials"-sektionen av detaljsidan.
- Authorize URL: "Authorization endpoint" från "Endpoints & Credentials"-sektionen av detaljsidan.
- Token URL: "Token endpoint" från "Endpoints & Credentials"-sektionen av detaljsidan.
- User JSON URL: "Userinfo endpoint" från "Endpoints & Credentials"-sektionen av detaljsidan.
- 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
.
- Spara Plugin-konfigurationen i Apache Answer.
Obs: Se till att inkludera openid
scopen, som krävs av OIDC-standarden för att hämta användarinformation från User JSON URL. Eftersom Logtos tredjepartsapplikation är implementerad baserat på OIDC, medan Apache Answer's plugin använder OAuth 2.0, är denna scope väsentlig för att säkerställa korrekt autentiseringsflöde mellan de två systemen.
Kontrollpunkt: Testa integrationen
Med både Logto och Apache Answer konfigurerade, låt oss se den sömlösa användarupplevelsen:
- Besök din Apache Answer, du kommer att se att det finns en "Anslut med Logto"-knapp på inloggningssidan.
-
Klicka på knappen, du kommer att omdirigeras till Logtos inloggningssida.
-
Efter att ha klickat på "Anslut med Logto"-knappen, omdirigeras du till Logto där du kan logga in med ditt befintliga konto. Du kommer sedan att se en samtyckessida som ber om tillstånd att dela din information med Apache Answer.
- Efter att du godkänt tillståndet, omdirigeras du tillbaka till Apache Answer, och du kommer att se att du är inloggad!
Obs: Apache Answer kontrollerar om den inloggade användaren har en verifierad e-postadress. När din användare inte har e-postinformation, kommer Apache Answer att be dem att tillhandahålla en e-post för verifiering.
Fördelar med integrationen sammanfattade
Varför gå igenom dessa steg? Fördelarna är betydande:
- Användarupplevelse: Detta är den mest uppenbara vinsten. Användarna behöver inte skapa eller komma ihåg en annan uppsättning inloggningsuppgifter. De använder inloggningen de redan litar på, vilket ger en smidig, friktionslös inträde i communityn. Detta sänker dramatiskt tröskeln för deltagande.
- Utvecklingseffektivitet: Du kringgår helt behovet av att bygga och underhålla separata användarauktorisations-, registrerings-, lösenordsåterskapningsflöden, etc., inom Apache Answer. Du utnyttjar din befintliga Logto-användarbas direkt och låter dig lansera communityn mycket snabbare.
- Säkerhet: Autentisering delegeras till Logto, din specialiserade IAM-leverantör, som troligen hanterar säkerhetsaspekter som multifaktorsautentisering (MFA), lösenordspolicyer och brute-force-skydd mer robust än en anpassad implementation inom Answer skulle kunna. Du förlitar dig på den mogna och välutvärderade OIDC-standarden.
- Produktvärde och supporteffektivitet: Du lägger omedelbart till en värdefull community-funktion utan att fragmentera din användaridentitet. Som nämnt tidigare, att veta att community-användaren är samma som produktanvändaren gör det möjligt för ditt supportteam att tillhandahålla mycket mer kontextuell och effektiv hjälp, vilket ökar användartillfredsställelse och engagemang.
Slutsats
Att integrera tredjepartsverktyg är viktigt för att bygga ett rikligt applikationsekosystem, men att hantera användaridentiteter över dessa verktyg kan vara en stor huvudvärk. Som vi har demonstrerat med Apache Answer, ger Logtos funktion för tredjepartsapplikationer (OIDC) ett kraftfullt och standardiserat sätt att överbrygga denna klyfta.
Genom att konfigurera Logto som den centrala identitetsleverantören för Apache Answer, kan du effektivt "enhandsklick" möjliggöra ett dedikerat communityutrymme för dina befintliga användare, vilket ger dem en sömlös inloggningsupplevelse och förser ditt team med fördelarna med en enhetlig användaridentitet.
Vad som är ännu mer spännande är att detta mönster inte är begränsat till Q&A-plattformar; det kan tillämpas på analysinstrumentpaneler, projektledningsverktyg, interna verktyg och otaliga andra applikationer, vilket låter dig bygga ett sammanhållande och användarvänligt mjukvaruekosystem.
Håll utkik efter framtida artiklar där vi kan utforska att integrera andra användbara verktyg med hjälp av Logto!