Português (Brasil)
  • Idp
  • apache answer
  • comunidade

Logto em ação: Integração perfeita do Apache Answer para lançar uma comunidade para seus usuários

Demonstra como aproveitar o recurso de aplicativos de terceiros do Logto para integrar o Apache Answer, criando uma plataforma comunitária unificada onde os usuários podem acessar suporte de maneira invisível usando suas contas existentes.

Yijun
Yijun
Developer

Pare de perder semanas com autenticação de usuários
Lance aplicativos seguros mais rapidamente com o Logto. Integre a autenticação de usuários em minutos e concentre-se no seu produto principal.
Começar
Product screenshot

Construir um ótimo produto de software é uma conquista significativa, mas é realmente apenas o começo da jornada.

O sucesso a longo prazo e a evolução de qualquer aplicativo dependem fortemente de entender e se envolver com seus usuários, o que envolve coletar feedback, identificar pontos problemáticos, responder a perguntas e resolver problemas —— um ciclo chave que impulsiona a iteração e a melhoria.

Neste artigo, eu vou:

  • Explicar como funciona o recurso de Aplicação de Terceiros (OIDC) do Logto.
  • Mostrar como usar o Logto para integrar o Apache Answer para construir uma comunidade para seus usuários, permitindo que façam perguntas, compartilhem ideias e obtenham ajuda de sua equipe e outros usuários.

O destaque de usar o Logto é que usuários entram na comunidade com a mesma conta do seu próprio sistema. Isso permite que você saiba facilmente o estado atual dos usuários que fazem perguntas, eliminando a necessidade de várias trocas para perguntar sobre sua situação no seu software.

O que é o Apache Answer

apache-answer.png

O Apache Answer é uma plataforma de perguntas e respostas de código aberto que conecta usuários e equipes. Ele cria um espaço para compartilhar conhecimento e resolver problemas juntos. A plataforma oferece pré-visualização em tempo real de Markdown, pesquisa avançada e um sistema de votação para o conteúdo.

A plataforma suporta login via OAuth 2.0 de fábrica. Isso a torna naturalmente compatível com provedores de identidade existentes como Logto. Usuários podem entrar com suas contas existentes, sem criar novas credenciais especificamente para a plataforma comunitária.

Entendendo o recurso de aplicação de terceiros do Logto

Quando queremos que usuários façam login em aplicativos de terceiros usando suas contas Logto, o Logto atua como o Provedor de Identidade (IdP) do seu aplicativo.

Pense nele como uma autoridade central responsável por verificar quem são seus usuários. Quando um usuário faz login no seu aplicativo principal, provavelmente ele é redirecionado para o Logto para lidar com o processo de autenticação (usuário/senha, login social, etc.). Uma vez que o Logto verifica com sucesso o usuário, ele informa ao seu aplicativo: "Sim, este usuário é legítimo", e fornece algumas informações básicas sobre eles.

Esse conceito se estende além de apenas seu aplicativo principal. O Logto inclui um recurso poderoso —— Aplicação de Terceiros. Este recurso permite que o Logto desempenhe seu papel de IdP não apenas para seu próprio aplicativo, mas para outras aplicações externas que você deseja que seus usuários acessem.

Isso é alcançado usando OpenID Connect (OIDC), que é uma camada de identidade padrão construída sobre o protocolo OAuth 2.0. Em termos simples, o OIDC permite que um aplicativo (como o Apache Answer, conhecido como Parte Confiante ou Cliente) solicite e receba informações sobre a identidade de um usuário de um IdP (Logto).

Quando você configura um aplicativo OIDC dentro do Logto para o Apache Answer, você está essencialmente dizendo ao Logto: "Esteja preparado para autenticar usuários em nome do Apache Answer se ele pedir, e se o usuário aprovar, envie de forma segura algumas informações básicas de identidade do usuário para o Answer." Esta capacidade é a chave para desbloquear um login único perfeito (SSO) entre seu aplicativo autenticado pelo Logto e ferramentas de terceiros como o Apache Answer.

Definindo a cena: SeuApp + Logto + Apache Answer

Antes de nos aprofundarmos na configuração, vamos esclarecer os componentes envolvidos no nosso cenário:

  1. SeuApp: Este é o seu aplicativo web ou móvel principal onde os usuários já se registram e fazem login. Crucialmente, SeuApp está integrado com o Logto para autenticação.
  2. Logto: Sua plataforma central de IAM, atuando como o IdP. Seus usuários têm contas geridas pelo Logto.
  3. Apache Answer: A plataforma de perguntas e respostas de código aberto que você deseja implantar como um hub comunitário para os usuários do SeuApp. Nosso objetivo é configurar o Answer para usar o Logto para login, em vez de seu próprio sistema local de usuário/senha.

Passos práticos: Configurando o Logto e o Apache Answer

Agora, vamos ser práticos. O processo envolve configuração tanto no Logto quanto no Apache Answer.

Instalar o Apache Answer

Siga o guia de instalação oficial para instalar o Apache Answer. E finalmente, você pode acessá-lo em http://localhost:9080 por padrão.

Criar um Aplicativo OIDC no Logto

  1. Faça login no seu Console do Logto.
  2. Navegue até a página de aplicativos.
  3. Clique no botão "Criar aplicação" no canto superior direito da página (se você não vir esse botão, clique em "ver todos" na parte inferior da lista de estruturas).
  4. Selecione a categoria "Aplicação de terceiro", depois escolha "OIDC".
  5. Insira o nome do aplicativo (por exemplo, "Comunidade Apache Answer") e a descrição (opcional).
  6. Clique em "Criar" para concluir a criação. Após criar o aplicativo, você será redirecionado para a página de detalhes do aplicativo.
  7. Na página de detalhes, adicione http://localhost:9080/answer/api/v1/connector/redirect/basic no campo URI de Redirecionamento.
  8. Clique em "Salvar" para salvar o aplicativo.

Configurar permissões para o Apache Answer

  1. Na página de detalhes do aplicativo, navegue até a aba Permissões.
  2. Sob Conceder permissões de dados do usuário, você verá uma mensagem dizendo "Você ainda não configurou nenhuma permissão de concessão de dados do usuário."
  3. Clique no botão Adicionar para configurar quais informações do usuário o Apache Answer pode acessar.
  4. Selecione os escopos necessários (profile e email) para permitir que o Apache Answer receba informações básicas do usuário ao fazer login.
  5. Salve suas configurações de permissão.

logto-grant-permissions.png

Configurar Login OAuth no Apache Answer

  1. Faça login no seu Apache Answer usando a conta de administrador.
  2. Visite o painel Admin em http://localhost:9080/admin.
  3. Navegue até Plugins -> Plugins Instalados e ative o plugin OAuth2 Basic.
  4. Navegue até a página do plugin OAuth2 Basic.
  5. Preencha as seguintes informações de acordo com o aplicativo de terceiros do Logto que você acabou de criar:
    • Nome: Nome do seu conector que será mostrado na página de login
    • Client ID: O "ID do App" da página de detalhes do aplicativo.
    • Client Secret: O "Segredo do App" da seção "Endpoints & Credenciais" da página de detalhes.
    • Authorize URL: O "Endpoint de Autorização" da seção "Endpoints & Credenciais" da página de detalhes.
    • Token URL: O "Endpoint de Token" da seção "Endpoints & Credenciais" da página de detalhes.
    • User JSON URL: O "Endpoint de informações do usuário" da seção "Endpoints & Credenciais" da página de detalhes.
    • 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. Salve a configuração do Plugin no Apache Answer.

Nota: Certifique-se de incluir o escopo openid, que é exigido pelo padrão OIDC para buscar informações do usuário a partir do User JSON URL. Como a aplicação de terceiros do Logto é implementada com base no OIDC, enquanto o plugin do Apache Answer usa OAuth 2.0, esse escopo é essencial para garantir o fluxo de autenticação adequado entre os dois sistemas.

Ponto de verificação: Teste a integração

Com ambos o Logto e Apache Answer configurados, vamos ver a experiência de usuário perfeita:

  1. Visite o seu Apache Answer, você verá um botão "Conectar com Logto" na página de login.

connect-with-logto.png

  1. Clique no botão, você será redirecionado para a página de login do Logto.

  2. Após clicar no botão "Conectar com Logto", você será redirecionado para o Logto onde pode fazer login com sua conta existente. Você verá então uma página de consentimento pedindo permissão para compartilhar suas informações com o Apache Answer.

consent-page.png

  1. Após aprovar a permissão, você será redirecionado de volta para o Apache Answer, e verá que está logado!

answer-dashboard.png

Nota: O Apache Answer verifica se o usuário logado tem um email verificado. Quando seu usuário não tem informações de email, o Apache Answer pedirá que forneçam um email para verificação.

Benefícios da integração resumidos

Por que passar por esses passos? As vantagens são significativas:

  • Experiência do Usuário: Esta é a vitória mais óbvia. Os usuários não precisam criar ou lembrar de outro conjunto de credenciais. Eles usam o login que já confiam, fornecendo uma entrada suave e sem atritos na comunidade. Isso reduz drasticamente a barreira para a participação.
  • Eficiência de Desenvolvimento: Você ignora completamente a necessidade de construir e manter autenticação de usuário separada, registro, fluxos de redefinição de senha, etc., dentro do Apache Answer. Você aproveita imediatamente sua base de usuários existente do Logto, permitindo que você lance a comunidade muito mais rápido.
  • Segurança: A autenticação é delegada para o Logto, seu provedor IAM especializado, que provavelmente lida com aspectos 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. Você confia no padrão OIDC maduro e bem testado.
  • Valor do Produto & Eficiência de Suporte: Você adiciona instantaneamente um recurso comunitário valioso sem fragmentar a identidade do seu usuário. Como destacado anteriormente, saber que o usuário da comunidade é o mesmo que o usuário do produto capacita sua equipe de suporte a fornecer ajuda muito mais contextual e eficiente, aumentando a satisfação e o engajamento do usuário.

Conclusão

Integrar ferramentas de terceiros é essencial para construir um ecossistema de aplicativos rico, mas gerenciar identidades de usuário entre essas ferramentas pode ser um grande problema. Como demonstramos com o Apache Answer, o recurso de aplicativos de terceiros (OIDC) do Logto oferece uma maneira poderosa e padronizada de preencher essa lacuna.

Configurando o Logto como o Provedor de Identidade central para o Apache Answer, você pode efetivamente "habilitar com um clique" um espaço comunitário dedicado para seus usuários existentes, oferecendo-lhes uma experiência de login perfeita e fornecendo à sua equipe os benefícios de uma identidade de usuário unificada.

O que é ainda mais empolgante é que esse padrão não se limita a plataformas de perguntas e respostas; ele pode ser aplicado a painéis de análise, ferramentas de gestão de projetos, utilitários internos e inúmeras outras aplicações, permitindo que você construa um ecossistema de software coeso e amigável ao usuário.

Fique atento para futuros artigos em que podemos explorar a integração de outras ferramentas úteis usando o Logto!