Simplifique a Autenticação OAuth e OIDC com Logto
Nossa comunidade expressou interesse em usar o Logto como Provedor de Identidade para certos produtos, como plugins do Outline ou ChatGPT. Em teoria, o Logto pode servir como um provedor OAuth ou OIDC (OpenID Connect) desde que o produto que você deseja integrar suporte um desses protocolos.
Logto é uma solução de identidade fácil de usar que oferece todos os recursos necessários. Suporta vários métodos de entrada, como nomes de usuário, emails, números de telefone e acessos sociais populares, como Google e GitHub. Se você é um indivíduo ou uma empresa de qualquer tamanho, o Logto fornece a solução perfeita de Gerenciamento de Identidade e Acesso do Cliente (CIAM) adaptada às necessidades específicas do seu projeto.
Introdução
Nossa comunidade expressou interesse em usar o Logto como Provedor de Identidade para certos produtos, como plugins do Outline ou ChatGPT. Em teoria, o Logto pode servir como um provedor OAuth 2.0 (OAuth) ou OpenID Connect (OIDC) desde que o produto que você deseja integrar suporte um desses protocolos.
Neste artigo, oferecemos um tutorial geral para integrações OAuth ou OIDC usando o Logto como Provedor de Identidade. Além disso, fornecemos tutoriais dedicados para integrações específicas, incluindo:
- Implementar autenticação de usuário para plugins do ChatGPT com Logto
- Simplificar a autenticação do Outline com Logto
Embora alguns detalhes possam diferir entre os produtos, a configuração fundamental permanece genérica. Se você tiver alguma dúvida ou precisar de mais assistência, encorajamos você a entrar no nosso servidor Discord para mais discussões.
Vamos começar!
Pré-requisitos
Antes de começarmos, certifique-se de ter o seguinte:
- Uma instância Logto em execução ou acesso a uma conta no Logto Cloud.
- Um produto que suporte um provedor de identidade OAuth ou OIDC de terceiros (referido como "o produto").
Configurar Logto
Se você está hospedando o Logto por conta própria, consulte a documentação "Comece agora" do Logto para configurar sua instância Logto.
Abra o Logto Console acessando a URL https://cloud.logto.io/
se você estiver usando o Logto Cloud, ou use o endpoint que você configurou para a hospedagem própria.
Criar aplicação
Vá até a aba "Aplicações" e clique em "Criar aplicação".
No modal que aparece, escolha "Web Tradicional" e forneça um nome para a aplicação, como "Meu App". Clique em "Criar aplicação".
Você será direcionado para uma página de tutorial no Logto. Clique em "Pular" no canto superior direito para prosseguir para a página de detalhes da Aplicação.
Configurar URI de Redirecionamento
Na seção "URIs de Redirecionamento", insira o valor fornecido na documentação do produto. Normalmente, ele é dinâmico com base na sua configuração de ID ou endpoint no produto. Por exemplo, nos plugins do ChatGPT, o URI de Redirecionamento é:
https://chat.openai.com/aip/[seu-id-do-plugin]/oauth/callback
Se o seu ID do plugin for foo123
, o valor deve ser:
https://chat.openai.com/aip/foo123/oauth/callback
Alternativamente, pode ser referido como "URL de Redirecionamento", "URI de Callback" ou "URL de Callback.”
Opcional: Certifique-se de que o Logto emite Token de Atualização
Alguns produtos podem exigir um Token de Atualização ao enviar solicitações de troca de token para o Logto. Para OAuth, você só precisa garantir que o escopo offline_access
esteja incluído. De acordo com o protocolo OIDC, por padrão, o produto também deve adicionar o parâmetro de pesquisa prompt = consent
na solicitação de autorização inicial para o fluxo de Código de Autorização; caso contrário, nenhum Token de Atualização será emitido.
Se o produto usar OAuth ou não adicionar o parâmetro prompt = consent
ou o escopo offline_access
mas exigir um Token de Atualização (por exemplo, plugins do ChatGPT), role para baixo até a seção "Configurações avançadas" e habilite "Sempre emitir Token de Atualização."
É isso!
Clique no botão "Salvar alterações" na parte inferior. Mantenha esta página aberta, pois ela será útil para configurações adicionais.
Configurar o produto
Siga as etapas descritas na documentação do produto para configuração de OAuth ou OIDC.
Configuração básica
A maioria dos valores de configuração necessários pode ser encontrada na página de detalhes da aplicação Logto. Alguns nomes podem ter alias, então consulte a tabela abaixo para referência:
Nome Logto | Alias | Uso |
---|---|---|
ID da Aplicação | ID da Aplicação, ID do Cliente | |
Segredo da Aplicação | Segredo da Aplicação, Segredo do Cliente | |
URI de Redirecionamento | URL de Redirecionamento, URI de Callback, URL de Callback | Redirecionamento após o login |
URIs de Redirecionamento Após Logout | URL de Redirecionamento Após Logout, URI de Logout (Redirecionamento), URL de Logout (Redirecionamento) | Redirecionamento após o logout |
Endpoint de Autorização | URI de Autorização, URL de Autorização, Endpoint de Auth, URL de Auth, URI de Auth | Autenticação inicial |
Endpoint de Token | URL de Token, URI de Token | Solicitar concessão de token |
Endpoint de Informações do Usuário | URL de Informações do Usuário, URI de Informações do Usuário, Endpoint de Info de Usuário, URL de Info de Usuário, URI de Info de Usuário | Buscar informações do usuário atual |
Para produtos modernos, um "endpoint de descoberta" pode ser suficiente. Nessas situações, substitua auth
por .well-known/openid-configuration
no Endpoint de Autorização. Por exemplo, se o Endpoint de Autorização for https://default.logto.app/oidc/auth
, o endpoint de descoberta seria https://default.logto.app/oidc/.well-known/openid-configuration
.
Opcional: Configuração de Escopo
Se o produto suportar OIDC ou exigir que um Token de ID seja emitido, adicione openid profile
à configuração do escopo. Consulte a tabela de escopo-reivindicação abaixo:
Reivindicação | Tipo | Escopo Necessário |
---|---|---|
sub | string | openid |
nome | string | profile |
nome de usuário | string | profile |
foto | string | profile |
string | ||
email_verified | booleano | |
phone_number | string | phone |
phone_number_verified | booleano | phone |
Checkpoint: Testar integração do Logto
Clique no botão de login no produto, você será direcionado para a experiência de login do Logto.
Se tudo estiver configurado corretamente, uma vez que você complete o processo de login ou registro no Logto, você será redirecionado de volta ao produto sem erros.
E isso conclui nosso guia sobre como simplificar a autenticação OAuth e OIDC com o Logto. Se você encontrar algum problema durante a integração, por favor, não hesite em nos contatar via email em [email protected] ou junte-se ao nosso servidor Discord!