Logto in actie: Naadloze integratie van Apache Answer om een community te lanceren voor je gebruikers
Toont aan hoe je Logto's functie voor apps van derden kunt gebruiken om Apache Answer te integreren, waardoor een verenigd communityplatform ontstaat waar gebruikers naadloos toegang hebben tot ondersteuning met hun bestaande accounts.
Een geweldig softwareproduct bouwen is een belangrijke prestatie, maar het is eigenlijk pas het begin van de reis.
Het langetermijnsucces en de evolutie van elke applicatie hangen sterk af van het begrijpen en betrekken van haar gebruikers, wat het verzamelen van feedback, het identificeren van pijnpunten, het beantwoorden van vragen en het oplossen van problemen omvat - een belangrijke cyclus die iteratie en verbetering aandrijft.
In dit artikel zal ik:
- Uitleggen hoe Logto's Third-Party Application (OIDC)-functie werkt.
- Laten zien hoe je Logto kunt gebruiken om Apache Answer te integreren om een community voor je gebruikers te bouwen, waarmee zij vragen kunnen stellen, ideeën kunnen delen en hulp kunnen krijgen van jouw team en andere gebruikers.
Het grote voordeel van het gebruik van Logto is dat gebruikers zich aanmelden bij de community met hetzelfde account als in je eigen systeem. Dit stelt je in staat eenvoudig de huidige status van gebruikers die vragen stellen te kennen, waardoor het niet nodig is om meerdere keren heen en weer te gaan om hun situatie in je software na te vragen.
Wat is Apache Answer
Apache Answer is een open-source Q&A-platform dat gebruikers en teams verbindt. Het creëert een ruimte voor het delen van kennis en het gezamenlijk oplossen van problemen. Het platform biedt real-time Markdown preview, geavanceerd zoeken, en een stemsysteem voor content.
Het platform ondersteunt OAuth 2.0 login direct vanuit de doos. Dit maakt het van nature compatibel met bestaande identiteitsaanbieders zoals Logto. Gebruikers kunnen zich aanmelden met hun bestaande accounts zonder nieuwe inloggegevens speciaal voor het communityplatform aan te maken.
Begrip van Logto's functie voor apps van derden
Wanneer we willen dat gebruikers inloggen op applicaties van derden met hun Logto-accounts, fungeert Logto als de Identity Provider (IdP) van je applicatie.
Zie het als een centrale autoriteit die verantwoordelijk is voor het verifiëren wie je gebruikers zijn. Wanneer een gebruiker inlogt op je hoofdapplicatie, verwijst deze hen waarschijnlijk naar Logto om het authenticatieproces (gebruikersnaam/wachtwoord, sociale login, enz.) af te handelen. Zodra Logto de gebruiker met succes heeft geverifieerd, vertelt het je applicatie, "Ja, deze gebruiker is legitiem," en verstrekt wat basisinformatie over hen.
Dit concept gaat verder dan alleen je primaire applicatie. Logto bevat een krachtige functie - applicatie van derden. Deze functie stelt Logto in staat om zijn IdP-rol uit te voeren, niet alleen voor je eigen applicatie, maar ook voor andere externe applicaties waarvan je wilt dat je gebruikers toegang hebben.
Het bereikt dit met behulp van OpenID Connect (OIDC), wat een standaardidentiteitslaag is die bovenop het OAuth 2.0-protocol is gebouwd. Simpel gezegd stelt OIDC een applicatie (zoals Apache Answer, bekend als de Relying Party of Client) in staat om informatie over de identiteit van een gebruiker op te vragen en te ontvangen van een IdP (Logto).
Wanneer je een OIDC-applicatie binnen Logto voor Apache Answer configureert, vertel je Logto eigenlijk: "Wees bereid om gebruikers te authenticeren namens Apache Answer als daarom wordt gevraagd, en als de gebruiker goedkeurt, stuur dan antwoord veilig wat basisgegevens van de gebruiker." Deze functie is de sleutel tot het ontgrendelen van naadloze single sign-on (SSO) tussen je Logto-geauthenticeerde applicatie en externe tools zoals Apache Answer.
De scene instellen: YourApp + Logto + Apache Answer
Voordat we in de configuratie duiken, laten we de componenten verduidelijken die bij ons scenario betrokken zijn:
- YourApp: Dit is je primaire web- of mobiele applicatie waar gebruikers zich al registreren en inloggen. Cruciaal is dat YourApp is geïntegreerd met Logto voor authenticatie.
- Logto: Je centrale IAM-platform, optredend als de IdP. Je gebruikers hebben accounts beheerd door Logto.
- Apache Answer: Het open-source Q&A-platform dat je wilt inzetten als gemeenschapshub voor de gebruikers van YourApp. Ons doel is om Answer te configureren om Logto te gebruiken voor inloggen, in plaats van zijn eigen lokale gebruikersnaam/wachtwoord-systeem.
Praktische stappen: Configureren van Logto en Apache Answer
Laten we nu praktisch worden. Het proces omvat configuratie in zowel Logto als Apache Answer.
Installeer Apache Answer
Volg de officiële installatiehandleiding om Apache Answer te installeren. En uiteindelijk kun je er standaard toegang toe krijgen op http://localhost:9080
.
Creëer een OIDC Applicatie in Logto
- Log in op je Logto Console.
- Navigeer naar de applicatiespagina.
- Klik op de "Applicatie maken"-knop in de rechterbovenhoek van de pagina (als je deze knop niet ziet, klik dan op "alles bekijken" onderaan de kaderlijst).
- Selecteer "Applicatie van derden" categorie, kies vervolgens "OIDC".
- Voer de toepassingsnaam in (bijv. "Apache Answer Community") en beschrijving (optioneel).
- Klik op "Maken" om de creatie te voltooien. Na het aanmaken van de applicatie word je doorgestuurd naar de applicatiedetailspagina.
- Voeg op de detailpagina
http://localhost:9080/answer/api/v1/connector/redirect/basic
toe aan het Redirect URI-veld. - Klik op "Opslaan" om de applicatie op te slaan.
Configureer permissies voor Apache Answer
- Op de detailpagina van de applicatie, navigeer naar het Permissies tabblad.
- Onder Verleen permissies voor gebruikersdata zie je een bericht waarin staat "Je hebt nog geen permissies voor het verlenen van gebruikersdata ingesteld."
- Klik op de Toevoegen knop om te configureren welke gebruikersinformatie Apache Answer kan openen.
- Selecteer de nodige scopes (
profiel
ene-mail
) om Apache Answer basisinformatie over de gebruiker te laten ontvangen bij inloggen. - Sla je permissie-instellingen op.
Configureer OAuth Login in Apache Answer
- Log in op je Apache Answer met het admin-account.
- Bezoek het Beheer dashboard op
http://localhost:9080/admin
. - Navigeer naar Plugins -> Geïnstalleerde Plugins en activeer de OAuth2 Basic plugin.
- Navigeer naar de OAuth2 Basic pluginpagina.
- Vul de volgende informatie in volgens de Logto 3rd-party applicatie die je zojuist hebt gemaakt:
- Naam: Naam van je connector die op de inlogpagina zal worden getoond
- Client ID: De "App ID" van de applicatiedetailspagina.
- Client Secret: Het "App Secret" van de "Endpoints & Credentials" sectie van de detailpagina.
- Authorize URL: De "Authorization endpoint" van de "Endpoints & Credentials" sectie van de detailpagina.
- Token URL: De "Token endpoint" van de "Endpoints & Credentials" sectie van de detailpagina.
- User JSON URL: De "Userinfo endpoint" van de "Endpoints & Credentials" sectie van de detailpagina.
- 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
.
- Sla de Plugin configuratie op in Apache Answer.
Opmerking: Zorg ervoor dat je de openid
scope opneemt, die door de OIDC-standaard vereist is om gebruikersinformatie van de User JSON URL op te halen. Aangezien Logto's applicatie van derden is geïmplementeerd op basis van OIDC, terwijl de plugin van Apache Answer OAuth 2.0 gebruikt, is deze scope essentieel om een goede authenticatiestroom tussen de twee systemen te garanderen.
Controlepunt: Test de integratie
Met zowel Logto als Apache Answer geconfigureerd, laten we de naadloze gebruikerservaring bekijken:
- Bezoek je Apache Answer, je zult zien dat er een "Verbinden met Logto"-knop op de inlogpagina is.
-
Klik op de knop, je wordt doorgestuurd naar de inlogpagina van Logto.
-
Na het klikken op de "Verbinden met Logto"-knop, word je doorgestuurd naar Logto waar je kunt inloggen met je bestaande account. Je ziet dan een toestemmingspagina waarin je wordt gevraagd toestemming te geven om je informatie te delen met Apache Answer.
- Nadat je de toestemming hebt gegeven, word je teruggeleid naar Apache Answer, en je ziet dat je bent ingelogd!
Opmerking: Apache Answer controleert of de ingelogde gebruiker een geverifieerd e-mailadres heeft. Wanneer je gebruiker geen e-mailinformatie heeft, zal Apache Answer verzoeken om een e-mail voor verificatie.
Voordelen van integratie samengevat
Waarom deze stappen doorlopen? De voordelen zijn aanzienlijk:
- Gebruikerservaring: Dit is de meest voor de hand liggende winst. Gebruikers hoeven geen ander set inloggegevens aan te maken of te onthouden. Ze gebruiken de inloggegevens die ze al vertrouwen, wat zorgt voor een soepele, moeiteloze toegang tot de community. Dit verlaagt drastisch de drempel om deel te nemen.
- Ontwikkelingsefficiëntie: Je omzeilt volledig de noodzaak om aparte gebruikersauthenticatie, registratie, wachtwoordresetstromingen, enz. te bouwen en te onderhouden binnen Apache Answer. Je maakt meteen gebruik van je bestaande Logto-gebruikersdatabase, waardoor je de community veel sneller kunt lanceren.
- Veiligheid: Authenticatie wordt gedelegeerd aan Logto, je gespecialiseerde IAM-aanbieder, die waarschijnlijk veiligheidsaspecten zoals multi-factor authenticatie (MFA), wachtwoordbeleid, en bescherming tegen brute-kracht aanvallen robuuster afhandelt dan een aangepaste implementatie binnen Answer zou kunnen. Je vertrouwt op de volwassen en goed geteste OIDC-standaard.
- Productwaarde & Ondersteuningsefficiëntie: Je voegt onmiddellijk een waardevolle communityfunctie toe zonder je gebruikersidentiteit te fragmenteren. Zoals eerder benadrukt, weten dat de communitygebruiker dezelfde is als de productgebruiker stelt je ondersteuningsteam in staat veel meer contextuele en efficiënte hulp te bieden, wat de gebruikerstevredenheid en betrokkenheid verhoogt.
Conclusie
Het integreren van derde-partij tools is essentieel voor het bouwen van een rijk applicatie-ecosysteem, maar het beheren van gebruikersidentiteiten over deze tools heen kan een grote hoofdpijn zijn. Zoals we hebben aangetoond met Apache Answer, biedt Logto's functie voor apps van derden (OIDC) een krachtige en gestandaardiseerde manier om deze kloof te overbruggen.
Door Logto te configureren als de centrale Identity Provider voor Apache Answer, kun je effectief "met één klik" een toegewijde communityruimte voor je bestaande gebruikers inschakelen, hen een naadloze inlogervaring bieden en je team de voordelen geven van een uniforme gebruikersidentiteit.
Wat nog spannender is, is dat dit patroon niet beperkt is tot Q&A platforms; het kan worden toegepast op analysetabellen, projectmanagementtools, interne hulpmiddelen, en talloze andere applicaties, waardoor je een samenhangend en gebruiksvriendelijk software-ecosysteem kunt bouwen.
Blijf op de hoogte voor toekomstige artikelen waar we wellicht andere nuttige tools integreren met behulp van Logto!