Logto em ação: Integre Apache Answer para lançar uma comunidade para os teus utilizadores
Demonstra como aproveitar a funcionalidade de aplicação de terceiros do Logto para integrar o Apache Answer, criando uma plataforma comunitária unificada onde os utilizadores podem aceder ao suporte utilizando as suas contas existentes, sem interrupções.
Construir um ótimo produto de software é uma conquista significativa, mas é apenas o começo da jornada.
O sucesso a longo prazo e a evolução de qualquer aplicação dependem fortemente da compreensão e envolvimento com os seus utilizadores, o que envolve recolher feedback, identificar pontos problemáticos, responder a perguntas e resolver questões —— um ciclo chave que impulsiona a iteração e melhoria.
Neste artigo, irei:
- Explicar como funciona a funcionalidade de Aplicação de Terceiros (OIDC) do Logto.
- Mostrar-te como usar o Logto para integrar Apache Answer e construir uma comunidade para os teus utilizadores, permitindo-lhes fazer perguntas, partilhar ideias e obter ajuda da tua equipa e de outros utilizadores.
O destaque de usar o Logto é que os utilizadores fazem login na comunidade com a mesma conta que usam no teu próprio sistema. Isso permite-te saber facilmente o estado atual dos utilizadores que fazem perguntas, eliminando a necessidade de trocas múltiplas para perguntar sobre a sua situação no teu software.
O que é o Apache Answer
Apache Answer é uma plataforma de perguntas e respostas open-source que conecta utilizadores e equipas. Cria um espaço para partilhar conhecimento e resolver problemas juntos. A plataforma possui pré-visualização Markdown em tempo real, busca avançada e um sistema de votação para conteúdos.
A plataforma suporta login com OAuth 2.0 de origem. Isso torna-a naturalmente compatível com fornecedores de identidade existentes, como o Logto. Os utilizadores podem fazer login com as suas contas existentes sem a necessidade de criar novas credenciais especificamente para a plataforma comunitária.
Entendendo a funcionalidade de aplicação de terceiros do Logto
Quando queremos que os utilizadores façam login em aplicações de terceiros usando as suas contas do Logto, o Logto atua como o Provedor de Identidade (IdP) da tua aplicação.
Pensa nisto como uma autoridade central responsável por verificar quem são os teus utilizadores. Quando um utilizador faz login na tua aplicação principal, é provável que sejam redirecionados para o Logto para lidar com o processo de autenticação (nome de utilizador/senha, login social, etc.). Assim que o Logto verifica com sucesso o utilizador, ele informa a tua aplicação "Sim, este utilizador é legítimo" e fornece algumas informações básicas sobre ele.
Este conceito estende-se além da tua aplicação principal. O Logto inclui uma funcionalidade poderosa —— Aplicação de Terceiros. Esta funcionalidade permite que o Logto desempenhe o seu papel de IdP não apenas para a tua própria aplicação, mas para outras aplicações externas às quais queres que os teus utilizadores acedam.
Isso é alcançado usando OpenID Connect (OIDC), que é uma camada de identidade padrão construída em cima do protocolo OAuth 2.0. Em termos simples, o OIDC permite que uma aplicação (como Apache Answer, conhecida como Parte Confiante ou Cliente) solicite e receba informações sobre a identidade do utilizador de um IdP (Logto).
Quando configuras uma aplicação OIDC dentro do Logto para o Apache Answer, estás essencialmente a informar o Logto: "Esteja preparado para autenticar utilizadores em nome do Apache Answer, caso seja necessário, e se o utilizador aprovar, envie de forma segura algumas informações básicas de identidade do utilizador para o Answer." Esta capacidade é a chave para desbloquear um único login contínuo (SSO) entre a tua aplicação autenticada pelo Logto e ferramentas de terceiros como o Apache Answer.
Preparando o cenário: YourApp + Logto + Apache Answer
Antes de mergulharmos na configuração, vamos esclarecer os componentes envolvidos no nosso cenário:
- YourApp: Esta é a tua aplicação web ou móvel principal onde os utilizadores já se registam e fazem login. Crucialmente, YourApp está integrada com o Logto para autenticação.
- Logto: A tua plataforma central de IAM, atuando como o IdP. Os teus utilizadores têm contas geridas pelo Logto.
- Apache Answer: A plataforma de perguntas e respostas open-source que queres implantar como um hub comunitário para os utilizadores do YourApp. O nosso objetivo é configurar o Answer para usar o Logto para login, em vez do seu próprio sistema local de nome de utilizador/senha.
Passos práticos: Configurando Logto e Apache Answer
Agora, vamos ser práticos. O processo envolve configuração tanto no Logto quanto no Apache Answer.
Instalar o Apache Answer
Segue o guia de instalação oficial para instalar o Apache Answer. E, finalmente, podes aceder-lhe em http://localhost:9080
por padrão.
Criar uma aplicação OIDC no Logto
- Faz login no teu Console Logto.
- Navega até à página de aplicações.
- Clica no botão "Criar aplicação" no canto superior direito da página (se não vires este botão, clica em "visualizar tudo" na parte inferior da lista de frameworks).
- Seleciona a categoria "Aplicação de terceiros" e depois escolhe "OIDC".
- Introduz o nome da aplicação (por exemplo, "Comunidade Apache Answer") e a descrição (opcional).
- Clica em "Criar" para concluir a criação. Após criares a aplicação, serás redirecionado para a página de detalhes da aplicação.
- Na página de detalhes, adiciona
http://localhost:9080/answer/api/v1/connector/redirect/basic
ao campo Redirect URI. - Clica em "Salvar" para salvar a aplicação.
Configurar permissões para o Apache Answer
- Na página de detalhes da aplicação, navega até ao separador Permissões.
- Em Conceder permissões de dados do utilizador, verás uma mensagem dizendo "Ainda não tens permissões para concessão de dados do utilizador configuradas."
- Clica no botão Adicionar para configurar que informações do utilizador o Apache Answer pode aceder.
- Seleciona os scops necessários (
profile
eemail
) para permitir que o Apache Answer receba informações básicas do utilizador no login. - Salva as tuas configurações de permissão.
Configurar Login OAuth no Apache Answer
- Faz login no teu Apache Answer usando a conta de administrador.
- Visita o dashboard Admin em
http://localhost:9080/admin
. - Navega até Plugins -> Plugins Instalados e ativa o plugin OAuth2 Basic.
- Navega até à página do plugin OAuth2 Basic.
- Preenche as seguintes informações de acordo com a aplicação de terceiros do Logto que acabaste de criar:
- Nome: Nome do teu conector que será exibido na página de login
- ID do Cliente: O "ID da App" da página de detalhes da aplicação.
- Segredo do Cliente: O "Segredo da App" da seção "Endpoints & Credenciais" da página de detalhes.
- URL de Autorização: O "Endpoint de Autorização" da seção "Endpoints & Credenciais" da página de detalhes.
- URL de Token: O "Endpoint de Token" da seção "Endpoints & Credenciais" da página de detalhes.
- URL de JSON do Utilizador: O "Endpoint de Userinfo" da seção "Endpoints & Credenciais" da página de detalhes.
- Caminho JSON do ID do Utilizador:
sub
. - Caminho JSON do Nome de Exibição do Utilizador:
name
. - Caminho JSON do Nome de Utilizador:
username
. - Caminho JSON do Email do Utilizador:
email
. - Caminho JSON do Avatar do Utilizador:
picture
. - Caminho JSON do Email Verificado do Utilizador:
email_verified
. - Scops:
openid,profile,email
.
- Salva a configuração do Plugin no Apache Answer.
Nota: Certifica-te de incluir o scope openid
, que é necessário pelo padrão OIDC para obter informações do utilizador do URL do JSON do Utilizador. Uma vez que a aplicação de terceiros do Logto é implementada com base em OIDC, enquanto o plugin do Apache Answer usa o OAuth 2.0, este scope é essencial para garantir o fluxo de autenticação adequado entre os dois sistemas.
Verificação: Testar a integração
Com ambos Logto e Apache Answer configurados, vamos ver a experiência perfeita do utilizador:
- Visita o teu Apache Answer, verás um botão "Conectar com Logto" na página de login.
-
Clica no botão, serás redirecionado para a página de login do Logto.
-
Após clicar no botão "Conectar com Logto", serás redirecionado para o Logto onde podes fazer login com a tua conta existente. Depois verás uma página de consentimento solicitando permissão para partilhar as tuas informações com o Apache Answer.
- Após aprovares a permissão, serás redirecionado de volta para o Apache Answer, e verás que estás logado!
Nota: O Apache Answer verifica se o utilizador logado possui um email verificado. Quando o teu utilizador não tem informações de email, o Apache Answer pedirá que forneça um email para verificação.
Benefícios da integração resumidos
Por que passar por estes passos? As vantagens são significativas:
- Experiência do Utilizador: Esta é a vitória mais óbvia. Os utilizadores não precisam criar ou lembrar outro conjunto de credenciais. Usam o login em que já confiam, proporcionando uma entrada suave e sem fricção na comunidade. Isso reduz drasticamente a barreira para a participação.
- Eficiência de Desenvolvimento: Evitas completamente a necessidade de construir e manter uma autenticação de utilizador separada, fluxos de registo, redefinição de senha, etc., dentro do Apache Answer. Aproveitas imediatamente a tua base de utilizadores Logto existente, permitindo-te lançar a comunidade muito mais rápido.
- Segurança: A autenticação é delegada ao Logto, o teu fornecedor de IAM especializado, que provavelmente lida com aspetos de segurança como autenticação multifator (MFA), políticas de senha e proteção contra força bruta mais robustamente do que uma implementação personalizada dentro do Answer poderia. Confias no padrão OIDC maduro e bem testado.
- Valor do Produto & Eficiência do Suporte: Adicionas instantaneamente uma funcionalidade comunitária valiosa sem fragmentar a identidade dos teus utilizadores. Como destacado anteriormente, saber que o utilizador da comunidade é o mesmo que o utilizador do produto capacita a tua equipa de suporte a fornecer ajuda muito mais contextual e eficiente, aumentando a satisfação e envolvimento do utilizador.
Conclusão
Integrar ferramentas de terceiros é essencial para construir um ecossistema de aplicações rico, mas gerir identidades de utilizador por essas ferramentas pode ser uma grande dor de cabeça. Como demonstrado com o Apache Answer, a funcionalidade de aplicação de terceiros (OIDC) do Logto fornece uma maneira poderosa e padronizada de preencher essa lacuna.
Ao configurares o Logto como o Provedor de Identidade central para o Apache Answer, podes efetivamente "ativar com um clique" um espaço comunitário dedicado para os teus utilizadores existentes, oferecendo-lhes uma experiência de login contínua e proporcionando à tua equipa os benefícios de uma identidade de utilizador unificada.
O que é ainda mais empolgante é que este padrão não está limitado a plataformas de perguntas e respostas; pode ser aplicado a painéis de análises, ferramentas de gestão de projetos, utilitários internos, e inúmeras outras aplicações, permitindo-te construir um ecossistema de software coeso e amigável.
Fica atento a futuros artigos onde poderemos explorar a integração de outras ferramentas úteis usando o Logto!