Habilitar acesso de agente de IA de terceiros ao seu app
Este guia orienta você na integração do Logto com seu serviço e na habilitação do acesso de agentes de IA a ele.
Você aprenderá como:
- Configurar o Logto como o servidor de autorização para seu serviço.
- Obter um token de acesso (Access token) para o agente de IA acessar seu serviço.
- Testar o fluxo com um agente de IA.
Diferença entre agente de IA de terceiros e seu próprio agente de IA (ou app)
Vamos analisar um exemplo. Imagine que você é um desenvolvedor que oferece um serviço de dados meteorológicos.
App meteorológico oficial (Seu próprio agente de IA / app)
- Você fornece um app meteorológico oficial para os usuários consultarem o clima.
- Como funciona: O app meteorológico oficial conecta-se ao seu serviço usando o Logto para autenticar os usuários. Quando Alice faz login, ela automaticamente tem acesso aos dados meteorológicos, sem telas extras de permissão, já que é seu app confiável.
Agente de IA de terceiros
- Você está construindo um ecossistema em torno do seu serviço, então outro desenvolvedor cria o "WeatherBot" (um assistente de IA que pode fornecer atualizações e previsões do tempo) integrando-o como um agente de IA de terceiros.
- Como funciona: O WeatherBot (agente de IA de terceiros) deseja acessar os dados meteorológicos do usuário via seu serviço. Quando Alice faz login no WeatherBot usando sua conta:
- Ela vê uma tela de consentimento (Consent screen), pedindo permissão para o WeatherBot acessar seus dados meteorológicos.
- Alice pode permitir ou negar esse acesso.
- Apenas os dados aos quais ela consentiu são compartilhados com o WeatherBot, e o WeatherBot não pode acessar dados adicionais sem um novo consentimento explícito.
Esse controle de acesso (permissão) garante a segurança dos dados do usuário: mesmo que seu serviço gerencie todos os dados, agentes de IA de terceiros como o WeatherBot só podem acessar o que o usuário permitiu explicitamente. Eles não podem burlar esse processo, pois ele é imposto pela sua implementação de controle de acesso no serviço.
Resumo
| Tipo de cliente | Exemplo | Consentimento necessário? | Quem controla? |
|---|---|---|---|
| App meteorológico oficial | Seu próprio app do tempo | Não | Você (o desenvolvedor) |
| Agente de IA de terceiros | Assistente WeatherBot | Sim | Outro desenvolvedor |
Se você deseja integrar seu serviço com seu próprio agente de IA ou app, consulte nossos guias de início rápido para mais informações.
Pré-requisitos
- Um tenant do Logto Cloud (ou auto-hospedado)
- Um serviço que exponha endpoints de API para serem acessados pelo agente de IA
Entendendo o fluxo
- Serviço: O serviço que você deseja expor ao agente de IA.
- Agente de IA: O agente de IA que irá acessar seu serviço.
- Logto: Atua como o provedor OpenID Connect (servidor de autorização) e gerencia as identidades dos usuários.
Um diagrama de sequência não normativo ilustra o fluxo geral do processo:
Configurar agente de IA de terceiros
Para configurar um agente de IA de terceiros para acessar seu serviço, siga estes passos:
- Registrar o agente de IA no Logto: Crie um aplicativo no Logto para representar o agente de IA.
- Configurar o agente de IA: Garanta que o agente de IA possa fazer requisições ao seu serviço e lidar com a resposta 401 Não autorizado.
- Implementar o fluxo de autorização: O agente de IA deve ser capaz de lidar com o fluxo de autorização OAuth 2.0 para obter um token de acesso (Access token) do Logto.
- Testar a integração: Use o agente de IA para acessar seu serviço e verifique se ele consegue autenticar e autorizar as requisições com sucesso.
Configurar agente de IA de terceiros no Logto
Para permitir que o agente de IA de terceiros acesse seu serviço, você precisa configurar um aplicativo de terceiros no Logto. Este aplicativo será usado para representar o agente de IA e obter as credenciais necessárias para autenticação e autorização.
Permitir que desenvolvedores criem aplicativos de terceiros no Logto
Se você está construindo um marketplace ou deseja permitir que desenvolvedores criem aplicativos de terceiros no Logto, pode utilizar a Logto Management API para criar aplicativos de terceiros programaticamente. Isso permite que os desenvolvedores registrem seus aplicativos e obtenham as credenciais necessárias para autenticação.
Você precisará hospedar seu próprio serviço para lidar com o processo de registro do cliente. Este serviço irá interagir com a Logto Management API para criar aplicativos de terceiros em nome dos desenvolvedores.
Alternativamente, você pode criar aplicativos de terceiros manualmente no Logto Console para se familiarizar com o processo.
Criar manualmente um aplicativo de terceiros no Logto
Você pode criar manualmente um aplicativo de terceiros no Logto Console para fins de teste ou integrações pontuais. Isso é útil quando você deseja testar rapidamente a integração sem implementar um fluxo completo de registro de cliente.
-
Faça login no seu Logto Console.
-
Vá em Aplicativos → Criar aplicativo → Aplicativo de terceiros -> OIDC.
-
Preencha o nome do aplicativo e outros campos obrigatórios, depois clique em Criar aplicativo.
-
Clique na guia Permissões, na seção Usuário, clique em "Adicionar".
-
Na janela aberta -> Dados do usuário -> selecione as permissões
profile,email, depois clique em Salvar. -
No aplicativo de terceiros, configure os escopos para solicitar as permissões (escopos)
openid profile email.Observação:
openidé obrigatório para OIDC, eprofileeemailsão as permissões que você adicionou na etapa anterior. -
Configure o redirect URI do seu aplicativo de terceiros conforme necessário. Lembre-se de atualizar o redirect URI também no Logto.
Por trás dos bastidores, um aplicativo de terceiros é um cliente padrão OAuth 2.0 / OIDC. Isso significa que você (ou o desenvolvedor de terceiros) pode usar qualquer biblioteca ou framework OAuth 2.0 / OIDC para integrar com o Logto.
Algumas coisas para ter em mente:
- Ao criar um aplicativo de terceiros, selecione o tipo de aplicativo apropriado com base na arquitetura do app:
- Web tradicional: Usa segredo do cliente para autenticação.
- Aplicativo de página única / Nativo: Usa PKCE para autorização segura sem um segredo do cliente.
- A maioria dos nossos guias de início rápido são escritos para aplicativos de primeira parte, mas você ainda pode usá-los como referência para integração de aplicativos de terceiros.
- A principal diferença é que aplicativos de terceiros exibirão uma tela de consentimento (Consent screen), solicitando permissão explícita dos usuários para acessar seus dados.
Veja Aplicativos de terceiros para o guia completo de integração.
Configurar autorização em seu serviço
Para habilitar o controle de acesso em seu serviço, você precisa implementar o seguinte:
- Definir recursos de API (API resources) no Logto: Crie recursos de API no Logto que representem os endpoints que seu agente de IA irá acessar.
- Implementar lógica de controle de acesso: Em seu serviço, implemente a lógica para validar o token de acesso recebido do agente de IA e verificar se o usuário possui as permissões necessárias para acessar o recurso solicitado.
- Responder ao agente de IA: Se o token de acesso for válido e o usuário tiver permissão, retorne o recurso solicitado. Caso contrário, retorne uma resposta 401 Não autorizado.
Para saber mais sobre como implementar o controle de acesso em seu serviço, consulte nosso Guia de autorização.
Testar a integração
- Inicie seu serviço.
- Inicie o agente de IA.
- No agente de IA, invoque o endpoint de API para acessar seu serviço.
- O agente de IA deve lidar com a resposta 401 Não autorizado e redirecionar o usuário para o Logto para autenticação.
- Após a autenticação bem-sucedida, o agente de IA deve receber um token de acesso e usá-lo para fazer requisições ao seu serviço.
- O agente de IA deve ser capaz de recuperar o recurso do seu serviço usando o token de acesso.