Logto in azione: integra Apache Answer per lanciare una community per i tuoi utenti
Dimostra come sfruttare la funzionalità di app di terze parti di Logto per integrare Apache Answer, creando una piattaforma comunitaria unificata dove gli utenti possono accedere facilmente al supporto usando i loro account esistenti.
Costruire un grande prodotto software è un risultato significativo, ma è solo l'inizio del viaggio.
Il successo a lungo termine e l'evoluzione di qualsiasi applicazione dipendono molto dalla comprensione e dall'interazione con i suoi utenti, che implica raccogliere feedback, identificare punti critici, rispondere a domande e risolvere problemi —— un ciclo chiave che guida l'iterazione e il miglioramento.
In questo articolo, ti mostrerò:
- Come funziona la funzionalità dell'applicazione di terze parti (OIDC) di Logto.
- Come usare Logto per integrare Apache Answer per costruire una community per i tuoi utenti, permettendo loro di fare domande, condividere idee e ottenere aiuto dal tuo team e da altri utenti.
Il punto forte dell'uso di Logto è che gli utenti accedono alla community con lo stesso account del tuo sistema. Questo ti permette di sapere facilmente lo stato corrente degli utenti che fanno domande, eliminando la necessità di continui scambi per chiedere della loro situazione nel tuo software.
Cos'è Apache Answer
Apache Answer è una piattaforma Q&A open-source che connette utenti e team. Crea uno spazio per condividere conoscenze e risolvere problemi insieme. La piattaforma offre anteprima Markdown in tempo reale, ricerca avanzata e un sistema di voto per i contenuti.
La piattaforma supporta il login OAuth 2.0 nativamente. Questo la rende naturalmente compatibile con i provider di identità esistenti come Logto. Gli utenti possono accedere con i loro account esistenti senza dover creare nuove credenziali specifiche per la piattaforma della community.
Comprendere la funzionalità dell'applicazione di terze parti di Logto
Quando vogliamo che gli utenti accedano ad applicazioni di terze parti usando i loro account Logto, Logto agisce come il provider di identità (IdP) della tua applicazione.
Pensa che sia un'autorità centrale responsabile per la verifica di chi sono i tuoi utenti. Quando un utente accede alla tua applicazione principale, viene probabilmente reindirizzato a Logto per gestire il processo di autenticazione (nome utente/password, login sociale, ecc.). Una volta che Logto verifica con successo l'utente, dice alla tua applicazione: "Sì, questo utente è legittimo" e fornisce alcune informazioni di base su di loro.
Questo concetto si estende oltre la tua applicazione principale. Logto include una potente funzionalità —— Applicazione di terze parti. Questa funzionalità consente a Logto di svolgere il ruolo di IdP non solo per la tua applicazione, ma per altre applicazioni esterne a cui vuoi che i tuoi utenti accedano.
Questo viene realizzato usando OpenID Connect (OIDC), che è un livello di identità standard costruito sopra il protocollo OAuth 2.0. In parole semplici, OIDC permette a un'applicazione (come Apache Answer, conosciuta come Parte Affidabile o Client) di richiedere e ricevere informazioni sull'identità di un utente da un IdP (Logto).
Quando configuri un'applicazione OIDC in Logto per Apache Answer, stai essenzialmente dicendo a Logto: "Preparati ad autenticare gli utenti per conto di Apache Answer se lo richiede, e se l'utente acconsente, invia in modo sicuro ad Answer alcuni dettagli di identità di base sull'utente." Questa capacità è la chiave per sbloccare un accesso facile con un solo login (SSO) tra la tua applicazione autenticata da Logto e strumenti di terze parti come Apache Answer.
Impostazione del contesto: YourApp + Logto + Apache Answer
Prima di immergersi nella configurazione, chiariamo i componenti coinvolti nel nostro scenario:
- YourApp: Questa è la tua applicazione web o mobile principale dove gli utenti si registrano già e effettuano l'accesso. Fondamentalmente, YourApp è integrata con Logto per l'autenticazione.
- Logto: La tua piattaforma IAM centrale che funge da IdP. I tuoi utenti hanno account gestiti da Logto.
- Apache Answer: La piattaforma Q&A open-source che vuoi distribuire come hub comunitario per gli utenti di YourApp. Il nostro obiettivo è configurare Answer per usare Logto per l'accesso, invece del suo sistema di nome utente/password locale.
Passi pratici: Configurare Logto e Apache Answer
Ora passiamo alla pratica. Il processo coinvolge la configurazione sia in Logto che in Apache Answer.
Installa Apache Answer
Segui la guida ufficiale all'installazione per installare Apache Answer. Infine, puoi accedervi su http://localhost:9080
per impostazione predefinita.
Crea un'app OIDC in Logto
- Accedi al tuo Console Logto.
- Vai alla pagina delle applicazioni.
- Fai clic sul pulsante "Crea applicazione" nell'angolo in alto a destra della pagina (se non vedi questo pulsante, fai clic su "vedi tutto" in fondo all'elenco del framework).
- Seleziona la categoria "Applicazione di terze parti", poi scegli "OIDC".
- Inserisci il nome dell'applicazione (ad es. "Community Apache Answer") e una descrizione (opzionale).
- Fai clic su "Crea" per completare la creazione. Dopo aver creato l'applicazione, sarai reindirizzato alla pagina dei dettagli dell'applicazione.
- Nella pagina dei dettagli, aggiungi
http://localhost:9080/answer/api/v1/connector/redirect/basic
al campo URI di reindirizzamento. - Fai clic su "Salva" per salvare l'applicazione.
Configura i permessi per Apache Answer
- Nella pagina dei dettagli dell'applicazione, vai alla scheda Permessi.
- Sotto Concedi permessi per i dati dell'utente, vedrai un messaggio che dice "Non hai permessi concessi per i dati dell'utente ancora configurati."
- Fai clic sul pulsante Aggiungi per configurare quali informazioni utente Apache Answer può accedere.
- Seleziona gli ambiti necessari (
profile
edemail
) per consentire ad Apache Answer di ricevere informazioni base sull'utente al momento del login. - Salva le tue impostazioni di permesso.
Configura il Login OAuth in Apache Answer
- Accedi al tuo Apache Answer usando l'account admin.
- Visita la dashboard Admin su
http://localhost:9080/admin
. - Vai a Plugins -> Plugins installati e attiva il plugin OAuth2 Basic.
- Vai alla pagina del plugin OAuth2 Basic.
- Compila le seguenti informazioni secondo l'applicazione di terze parti di Logto che hai appena creato:
- Nome: Nome del tuo connettore che sarà mostrato nella pagina di login
- Client ID: L'"ID App" dalla pagina dei dettagli dell'applicazione.
- Client Secret: Il "Segreto App" dalla sezione "Endpoint & Credenziali" della pagina dei dettagli.
- URL di autorizzazione: L'"endpoint di autorizzazione" dalla sezione "Endpoint & Credenziali" della pagina dei dettagli.
- URL token: L'"endpoint token" dalla sezione "Endpoint & Credenziali" della pagina dei dettagli.
- URL JSON utente: L'"endpoint Userinfo" dalla sezione "Endpoint & Credenziali" della pagina dei dettagli.
- Percorso JSON ID utente:
sub
. - Percorso JSON nome visualizzato utente:
name
. - Percorso JSON nome utente:
username
. - Percorso JSON email utente:
email
. - Percorso JSON avatar utente:
picture
. - Percorso JSON email verificata utente:
email_verified
. - Scopes:
openid,profile,email
.
- Salva la configurazione del plugin in Apache Answer.
Nota: Assicurati di includere lo scope openid
, che è richiesto dallo standard OIDC per recuperare informazioni utente dall'URL JSON utente. Poiché l'applicazione di terze parti di Logto è implementata basandosi su OIDC, mentre il plugin di Apache Answer utilizza OAuth 2.0, questo scope è essenziale per assicurare un corretto flusso di autenticazione tra i due sistemi.
Verifica: Testa l'integrazione
Con entrambi Logto e Apache Answer configurati, vediamo l'esperienza utente senza soluzione di continuità:
- Visita il tuo Apache Answer, vedrai un pulsante "Connettiti con Logto" sulla pagina di login.
-
Fai clic sul pulsante, verrai reindirizzato alla pagina di login di Logto.
-
Dopo aver cliccato sul pulsante "Connettiti con Logto", verrai reindirizzato a Logto dove puoi accedere con il tuo account esistente. Vedrai quindi una pagina di consenso che chiede il permesso di condividere le tue informazioni con Apache Answer.
- Dopo aver approvato il permesso, sarai reindirizzato indietro ad Apache Answer, e vedrai che hai effettuato l'accesso!
Nota: Apache Answer verifica se l'utente connesso ha un'email verificata. Quando il tuo utente non ha informazioni sull'email, Apache Answer chiederà di fornire un'email per la verifica.
Vantaggi dell'integrazione riassunti
Perché affrontare questi passaggi? I vantaggi sono significativi:
- Esperienza Utente: Questo è il vantaggio più ovvio. Gli utenti non devono creare o ricordare un altro set di credenziali. Usano il login di cui già si fidano, fornendo un'entrata fluida e senza attrito nella community. Questo riduce drasticamente la barriera alla partecipazione.
- Efficienza di Sviluppo: Eviti completamente la necessità di costruire e mantenere flussi separati di autenticazione, registrazione, ripristino password, ecc., all'interno di Apache Answer. Sfrutti istantaneamente la tua base utenti di Logto esistente, permettendoti di lanciare la community molto più velocemente.
- Sicurezza: L'autenticazione è delegata a Logto, il tuo provider IAM specializzato, che probabilmente gestisce aspetti di sicurezza come l'autenticazione a più fattori (MFA), le politiche di password e la protezione contro forza bruta in modo più robusto di quanto potrebbe fare una implementazione personalizzata all'interno di Answer. Ti affidi allo standard OIDC maturo e ben testato.
- Valore del Prodotto ed Efficienza del Supporto: Aggiungi istantaneamente una funzionalità comunitaria di valore senza frammentare l'identità dei tuoi utenti. Come evidenziato in precedenza, sapere che l'utente della community è lo stesso dell'utente del prodotto consente al tuo team di supporto di fornire un aiuto molto più contestuale ed efficiente, aumentando la soddisfazione e l'engagement degli utenti.
Conclusione
Integrare strumenti di terze parti è essenziale per costruire un ricco ecosistema applicativo, ma gestire le identità utente attraverso questi strumenti può essere un grosso fastidio. Come abbiamo dimostrato con Apache Answer, la funzionalità di applicazione di terze parti (OIDC) di Logto offre un modo potente e standardizzato per colmare questa lacuna.
Configurando Logto come provider di identità centrale per Apache Answer, puoi effettivamente "abilitare con un solo clic" uno spazio comunitario dedicato per i tuoi utenti esistenti, offrendo loro un'esperienza di accesso senza soluzione di continuità e fornendo al tuo team i benefici di un'identità utente unificata.
Ciò che è ancora più entusiasmante è che questo schema non è limitato alle piattaforme di Q&A; può essere applicato a dashboard di analisi, strumenti di gestione dei progetti, utility interne e innumerevoli altre applicazioni, permettendoti di costruire un ecosistema software coeso e user-friendly.
Resta sintonizzato per futuri articoli in cui potremmo esplorare l'integrazione di altri strumenti utili usando Logto!