Português (Brasil)
  • auth
  • authentication
  • identity
  • integration
  • outline
  • oidc
  • oauth

Simplifique a autenticação do Outline com Logto

Neste artigo, vamos demonstrar como usar o Logto como um provedor de identidade OpenID Connect (OIDC) para o Outline.

Gao
Gao
Founder

Introdução

  • Logto é uma solução de identidade simples com todos os recursos que você precisa. Ele suporta vários métodos de login, incluindo nome de usuário, e-mail, número de telefone e logins sociais populares como Google e GitHub.
  • Outline serve como uma base de conhecimento para equipes em crescimento.

A melhor parte é que tanto o Logto quanto o Outline são de código aberto. Neste artigo, vamos demonstrar como usar o Logto como um provedor de identidade OpenID Connect (OIDC) para o Outline.

Pré-requisitos

Para começar, certifique-se de ter o seguinte:

  • Uma instância do Logto em execução ou acesso a uma conta Logto Cloud.
  • Um ambiente de hospedagem do Outline com acesso a variáveis de ambiente.

Configurar o Logto

Se você estiver hospedando o Logto, consulte a documentação "Get started" do Logto para configurar sua instância do Logto.

Abra o Console do Logto digitando a URL https://cloud.logto.io/ se você estiver usando o Logto Cloud, ou o endpoint que você configurou para hospedagem própria.

Em seguida, navegue até a aba "Applications" e clique em "Create application".

Aba Applications

No modal que aparece, escolha "Traditional Web" e forneça um nome de aplicação, como "Outline". Em seguida, clique em "Create application".

Create application

Você será direcionado para uma página de tutorial no Logto. Clique em "Skip" no canto superior direito para prosseguir para a página de detalhes da aplicação.

Detalhes da aplicação

Na seção "Redirect URIs", insira o seguinte valor:

Por exemplo, se você estiver hospedando o Outline em http://localhost:3000, o valor deve ser:

Salvar alterações

Clique no botão "Save Changes" na parte inferior. Uma vez bem-sucedido, mantenha esta página aberta, pois será útil para a configuração do Outline.

Configurar o Outline

Siga os passos descritos no guia de hospedagem do Outline até chegar à etapa de configuração de autenticação. Como o Outline suporta provedores de autenticação compatíveis com OIDC por padrão, você pode encontrar facilmente a maioria dos valores de configuração necessários na página de detalhes da aplicação do Logto.

Consulte a tabela a seguir para os detalhes de configuração necessários:

Variável de Ambiente do OutlineNome de Exibição do Logto
OIDC_CLIENT_IDApp ID
OIDC_CLIENT_SECRETApp Secret
OIDC_AUTH_URIAuthorization Endpoint
OIDC_TOKEN_URIToken Endpoint
OIDC_USERINFO_URIUserinfo Endpoint

Aqui está outra tabela contendo variáveis adicionais:

Variável de Ambiente do OutlineDescrição
OIDC_USERNAME_CLAIMDefina como username
OIDC_DISPLAY_NAMEOpcional - personalize conforme necessário
OIDC_SCOPESMantenha o padrão; não precisa definir

Somente auto-hospedado: Configurar login por e-mail no Logto

Como o Outline exige que o e-mail do usuário seja fornecido, você precisa configurar o login por e-mail ou um login social que forneça um endereço de e-mail confiável, como login do Google.

Veja Configurar conectores para saber mais sobre como configurar conectores no Logto.

Ponto de verificação: Testar a integração do Logto e Outline

Inicie a instância do Outline e acesse seu endpoint. Você deve ver um botão no centro rotulado "Continue with OpenID Connect"; ele pode ser personalizado configurando a variável de ambiente OIDC_DISPLAY_NAME.

Página de login do Outline

Clique no botão, e você será direcionado para a experiência de login do Logto.

Experiência de login do Logto

Se tudo foi configurado corretamente, assim que você concluir o processo de login ou inscrição no Logto, você será redirecionado de volta para o Outline. Você pode então ver suas informações pessoais exibidas no canto inferior esquerdo da página.

Página inicial do Outline

Se você encontrar algum problema durante a integração, não hesite em nos contatar por e-mail em [email protected] ou junte-se ao nosso servidor Discord!

Leituras adicionais