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

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.

Yijun
Yijun
Developer

Pare de perder semanas com autenticação de utilizadores
Lance aplicações seguras mais rapidamente com o Logto. Integre a autenticação de utilizadores em minutos e concentre-se no seu produto principal.
Começar
Product screenshot

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.png

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:

  1. 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.
  2. Logto: A tua plataforma central de IAM, atuando como o IdP. Os teus utilizadores têm contas geridas pelo Logto.
  3. 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

  1. Faz login no teu Console Logto.
  2. Navega até à página de aplicações.
  3. 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).
  4. Seleciona a categoria "Aplicação de terceiros" e depois escolhe "OIDC".
  5. Introduz o nome da aplicação (por exemplo, "Comunidade Apache Answer") e a descrição (opcional).
  6. 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.
  7. Na página de detalhes, adiciona http://localhost:9080/answer/api/v1/connector/redirect/basic ao campo Redirect URI.
  8. Clica em "Salvar" para salvar a aplicação.

Configurar permissões para o Apache Answer

  1. Na página de detalhes da aplicação, navega até ao separador Permissões.
  2. 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."
  3. Clica no botão Adicionar para configurar que informações do utilizador o Apache Answer pode aceder.
  4. Seleciona os scops necessários (profile e email) para permitir que o Apache Answer receba informações básicas do utilizador no login.
  5. Salva as tuas configurações de permissão.

logto-grant-permissions.png

Configurar Login OAuth no Apache Answer

  1. Faz login no teu Apache Answer usando a conta de administrador.
  2. Visita o dashboard Admin em http://localhost:9080/admin.
  3. Navega até Plugins -> Plugins Instalados e ativa o plugin OAuth2 Basic.
  4. Navega até à página do plugin OAuth2 Basic.
  5. 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.
  6. 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:

  1. Visita o teu Apache Answer, verás um botão "Conectar com Logto" na página de login.

connect-with-logto.png

  1. Clica no botão, serás redirecionado para a página de login do Logto.

  2. 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.

consent-page.png

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

answer-dashboard.png

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!