Português (Portugal)
  • auth
  • integration
  • oauth
  • oidc
  • identity

Simplificar a Autenticação OAuth e OIDC com Logto

A nossa comunidade expressou interesse em utilizar o Logto como Provedor de Identidade para certos produtos, como o Outline ou plugins do ChatGPT. Em teoria, o Logto pode servir como um provedor de OAuth ou OIDC (OpenID Connect) desde que o produto que pretendes integrar suporte qualquer um destes protocolos.

Gao
Gao
Founder

Logto é uma solução de identidade fácil de usar que oferece todas as funcionalidades necessárias. Suporta vários métodos de login como nomes de utilizador, e-mails, números de telefone e logins sociais populares, como Google e GitHub. Seja um indivíduo ou uma empresa de qualquer tamanho, Logto oferece a solução perfeita de Gestão de Identidade e Acesso ao Cliente (CIAM) adaptada às necessidades específicas do teu projeto.

Introdução

A nossa comunidade expressou interesse em utilizar o Logto como Provedor de Identidade para certos produtos, como o Outline ou plugins do ChatGPT. Em teoria, o Logto pode servir como um OAuth 2.0 (OAuth) ou OpenID Connect (OIDC) provedor desde que o produto que pretendes integrar suporte qualquer um destes protocolos.

Neste artigo, oferecemos um tutorial geral para integrações OAuth ou OIDC usando Logto como um Provedor de Identidade. Além disso, fornecemos tutoriais dedicados para integrações específicas, incluindo:

Embora certos detalhes possam diferir entre os produtos, a configuração fundamental permanece genérica. Se tiveres alguma dúvida ou necessitares de mais assistência, encorajamos-te a juntares-te ao nosso servidor Discord para mais discussões.

Vamos começar!

Pré-requisitos

Antes de começarmos, assegura-te que tens o seguinte:

  • Uma instância do Logto em execução ou acesso a uma conta no Logto Cloud.
  • Um produto que suporte um provedor de identidade terceiro usando OAuth ou OIDC (referido como "o produto").

Configurar Logto

Se estás a auto-hospedar Logto, consulta a documentação "Get started" do Logto para configurar a tua instância do Logto.

Abre o Logto Console acedendo a URL https://cloud.logto.io/ se estás a usar o Logto Cloud, ou utiliza o endpoint que configuraste para auto-hospedagem.

Criar aplicação

Vai ao separador "Applications" e clica em "Create application".

O separador "Applications" do Logto Console

No modal que aparece, escolhe "Traditional Web" e fornece um nome para a aplicação, como "My App". Clica em "Create application".

O modal "Create application" mostra vários tipos de aplicação

Serás direcionado para uma página de tutorial no Logto. Clica em "Skip" no canto superior direito para avançar para a página de detalhes da Aplicação.

Uma página de detalhes de aplicação

Configurar URI de Redirecionamento

Na secção "Redirect URIs", insere o valor fornecido na documentação do produto. Normalmente, é dinâmico com base no teu ID ou configuração de endpoint no produto. Por exemplo, em plugins do ChatGPT, o URI de Redirecionamento é:

https://chat.openai.com/aip/[your-plugin-id]/oauth/callback

Se o teu ID de plugin é foo123, o valor deverá ser:

https://chat.openai.com/aip/foo123/oauth/callback

A secção de configuração "Redirect URIs"

Alternativamente, pode ser referido como "Redirect URL," "Callback URI," ou "Callback URL.”

Opcional: Certificar-se que Logto emite Token de Atualização

Alguns produtos podem requerer um Token de Atualização ao enviar pedidos de troca de tokens para o Logto. Para OAuth, apenas precisas de assegurar que o escopo offline_access está incluído. De acordo com o protocolo OIDC, por padrão, o produto deve também adicionar o parâmetro de pesquisa prompt=consent no pedido inicial de autorização 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 necessitar de um Token de Atualização (por exemplo, plugins do ChatGPT), desliza até à secção "Advanced settings" e ativa "Always issue Refresh Token."

O alternador "Always issue Refresh Token"

Isso é tudo!

Clica no botão "Save Changes" na parte inferior. Mantém esta página aberta, pois será útil para mais configuração.

A barra de ações mostra um botão "Save Changes"

Configurar o produto

Segue os passos indicados na documentação do produto para configuração OAuth ou OIDC.

Configuração básica

A maioria dos valores de configuração necessários podem ser encontrados na página de detalhes da aplicação do Logto. Alguns nomes podem ter aliases, por isso, consulta a tabela abaixo para referência:

Nome no LogtoAliasesUso
App IDApplication ID, Client ID
App SecretApplication Secret, Client Secret
Redirect URIRedirect URL, Callback URI, Callback URLRedirecionamento após login
Post Sign-out Redirect URIsPost Sign-out Redirect URL, Post Logout (Redirect) URI, Post Logout (Redirect) URLRedirecionamento após logout
Authorization EndpointAuthorization URI, Authorization URL, Auth Endpoint, Auth URL, Auth URIAutenticação inicial
Token EndpointToken URL, Token URIRequerer uma concessão de token
Userinfo EndpointUserinfo URL, Userinfo URI, User Info Endpoint, User Info URL, User Info URIObter informação do usuário atual

Para produtos modernos, um "endpoint de descoberta" pode ser suficiente. Nestes casos, substitui 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 do escopo

Se o produto suportar OIDC ou requerer um Token de ID a ser emitido, adiciona openid profile à configuração do escopo. Consulta a tabela de escopo-claim abaixo:

ClaimTipoEscopo Necessário
substringopenid
namestringprofile
usernamestringprofile
picturestringprofile
emailstringemail
email_verifiedbooleanemail
phone_numberstringphone
phone_number_verifiedbooleanphone

Verificação: Testar a integração do Logto

Clica no botão de login no produto, serás direcionado para a experiência de login do Logto.

Experiência de Login do Logto

Se tudo estiver configurado corretamente, assim que completares o processo de login ou registo no Logto, serás redirecionado de volta para o produto sem erros.

E isto conclui o nosso guia sobre a simplificação da autenticação OAuth e OIDC com Logto. Se encontrares algum problema durante a integração, por favor não hesites em contactar-nos por email para [email protected] ou junta-te ao nosso servidor Discord!

Leituras adicionais