Pular para o conteúdo principal

Aplicativo de terceiros (OAuth / OIDC)

A integração de aplicativos de terceiros do Logto permite que você utilize o Logto como um Provedor de Identidade (IdP) para aplicativos externos.

Um Provedor de Identidade (IdP) é um serviço que verifica identidades de usuários e gerencia suas credenciais de login. Após confirmar a identidade de um usuário, o IdP gera tokens de autenticação ou afirmações e permite que o usuário acesse vários aplicativos ou serviços sem precisar fazer login novamente.

Diferente dos aplicativos que você criou no guia Integre Logto ao seu aplicativo, que são desenvolvidos e totalmente controlados por você, aplicativos de terceiros são serviços independentes desenvolvidos por desenvolvedores externos ou parceiros de negócios.

Essa abordagem de integração é ideal para cenários de negócios comuns. Você pode permitir que usuários acessem aplicativos de parceiros usando suas contas Logto, assim como usuários corporativos fazem login no Slack com Google Workspace. Você também pode construir uma plataforma aberta onde aplicativos de terceiros podem adicionar a funcionalidade "Entrar com Logto", semelhante ao "Entrar com Google".

O Logto é um serviço de identidade construído sobre o protocolo OpenID Connect (OIDC), fornecendo capacidades de autenticação (Authentication) e autorização (Authorization). Isso torna a integração de um aplicativo de terceiros OIDC tão simples quanto uma aplicação web tradicional.

Como o OIDC é construído sobre o OAuth 2.0, adicionando uma camada de autenticação, você também pode integrar aplicativos de terceiros usando o protocolo OAuth.

Duas formas de integrar um aplicativo de terceiros

  • Registrar o aplicativo no Logto (este guia): você cria o aplicativo e configura suas permissões e URIs de redirecionamento. Use quando você conhece seus parceiros.
  • Aplicativo dinâmico: clientes conectam-se sem pré-registro, usando uma URL pública HTTPS que serve seu próprio documento de metadados como client ID. Use quando qualquer cliente pode se conectar, como clientes MCP e agentes de IA.

Ambos podem ser usados ao mesmo tempo.

Criar um aplicativo de terceiros no Logto

  1. Vá para Console > Aplicativos.
  2. Clique no botão "Criar aplicativo". Selecione "Aplicativo de terceiros" como o tipo de aplicativo e escolha um dos seguintes protocolos de integração:
    • OIDC / OAuth
  3. Selecione um tipo de aplicativo com base no tipo do aplicativo de terceiros:
    • Web tradicional: Aplicações renderizadas no servidor (ex.: Node.js, PHP, Java) que podem armazenar um client secret com segurança no backend.
    • Single Page App (SPA): Aplicações renderizadas no lado do cliente (ex.: React, Vue, Angular) que rodam inteiramente no navegador e não podem armazenar segredos com segurança.
    • Nativo: Aplicativos móveis ou desktop (ex.: iOS, Android, Electron) que rodam em dispositivos dos usuários.
  4. Insira um nome e uma descrição para seu aplicativo e clique no botão "Criar". Um novo aplicativo de terceiros será criado.

Todos os aplicativos de terceiros criados serão catalogados na página de Aplicativos sob a guia "Aplicativos de terceiros". Essa organização ajuda você a distingui-los dos seus próprios aplicativos, facilitando o gerenciamento de todos os seus aplicativos em um só lugar.

Para restringir quais usuários podem fazer login em um aplicativo de terceiros, configure o controle de acesso em nível de aplicativo na guia Regras do aplicativo.

Guia de integração

Encontre as configurações do aplicativo

Na página de detalhes do aplicativo, você pode encontrar o Client ID, Client secret (apenas para apps web tradicionais) e os endpoints OIDC necessários para integração.

Se o serviço de terceiros suportar descoberta OIDC, basta fornecer o Discovery endpoint. Caso contrário, clique em Mostrar detalhes dos endpoints para visualizar todos os endpoints, incluindo o authorization endpoint e o token endpoint.

Integre com serviços que suportam IdP de terceiros

Se você estiver conectando um serviço ou produto que suporta nativamente configuração de provedor de identidade externo (ex.: plataformas SaaS corporativas, ferramentas de colaboração), a configuração é simples:

  1. Abra a página de configuração de IdP ou SSO do serviço.
  2. Copie o Client ID (e Client secret se necessário) do Logto e cole na configuração do serviço.
  3. Forneça o Discovery endpoint se o serviço suportar auto-descoberta OIDC, ou copie manualmente o Authorization endpoint e o Token endpoint.
  4. Copie o Redirect URI da página de configuração do serviço e adicione-o aos URIs de redirecionamento permitidos do seu aplicativo Logto.
  5. Configure os scopes se o serviço permitir. Como o Logto é um provedor OIDC, inclua o escopo openid se você precisar autenticar usuários (concede acesso a um Token de ID (ID token) e ao endpoint UserInfo). O escopo openid é opcional se você só precisar de acesso a recursos OAuth.

O serviço irá lidar automaticamente com o fluxo OAuth / OIDC após a configuração.

Integre via protocolo OAuth / OIDC

Se um aplicativo de terceiros precisar integrar-se ao Logto como IdP programaticamente, ele deve implementar o padrão Authorization Code Flow. Recomendamos usar uma biblioteca cliente OAuth 2.0 / OIDC para sua linguagem de programação para facilitar a implementação.

Aplicativos web tradicionais são clientes confidenciais que podem armazenar um client secret com segurança no servidor backend. Veja Authorization Code Flow para detalhes completos de implementação.

Etapas principais:

  1. Iniciar autorização: Redirecione o usuário para o authorization endpoint do Logto com client_id, redirect_uri, response_type=code e scope.
  2. Tratar callback: Receba o code de autorização do redirecionamento.
  3. Trocar tokens: Do seu backend, faça um POST para o token endpoint com o código, client_id e client_secret.

Integre via device flow

Para aplicativos nativos de terceiros executados em dispositivos com entrada limitada (ex.: smart TVs, consoles de jogos, ferramentas CLI), o fluxo padrão de autorização baseado em redirecionamento pode não ser viável. Nesses casos, o aplicativo pode usar o OAuth 2.0 Device Authorization Grant.

Com o device flow, o dispositivo exibe um código de usuário e uma URL de verificação. O usuário acessa a URL em outro dispositivo (celular, laptop), insere o código e conclui a autenticação lá. O dispositivo faz polling no token endpoint do Logto até a autorização ser concluída.

nota:

Antes de implementar o device flow, certifique-se de configurar as permissões necessárias para seu aplicativo de terceiros no Console do Logto. Aplicativos de terceiros que solicitarem scopes não habilitados terão acesso negado.

Veja o Guia rápido do device flow para detalhes completos de implementação.

Por motivos de segurança, todos os aplicativos OIDC de terceiros serão redirecionados para uma tela de consentimento para autorização do usuário após serem autenticados pelo Logto.

Todas as permissões de perfil de usuário solicitadas pelo terceiro, escopos de recursos de API, permissões de organização e informações de associação à organização serão exibidas na tela de consentimento.

Essas permissões solicitadas só serão concedidas aos aplicativos de terceiros após o usuário clicar no botão "Autorizar".

tela de consentimento

Próximas ações

Perguntas frequentes

O Logto usa Controle de Acesso Baseado em Papel (RBAC) para gerenciar permissões de usuários. Na tela de consentimento, apenas escopos (permissões) já atribuídos ao usuário — por meio de seus papéis — serão exibidos. Se um aplicativo de terceiros solicitar escopos que o usuário não possui, eles serão excluídos para evitar consentimento não autorizado.

Para gerenciar isso:

  • Defina papéis globais ou papéis de organização com escopos específicos.
  • Atribua papéis aos usuários conforme suas necessidades de acesso.
  • Os usuários herdarão automaticamente os escopos de seus papéis.

Caso de uso: Integre o Apache Answer para lançar uma comunidade para seus usuários

Usando o Logto como provedor de identidade de terceiros (IdP)