Referência de autenticação authentication-reference

IMPORTANT
Adobe LLM Apps está atualmente na Beta.
Os recursos, fluxos de trabalho e interface mostrados aqui não representam necessariamente o estado final do produto. Para participar da Beta, envie um email para llm-apps-beta@adobe.com.

Use esta página para pesquisar campos e contratos de autenticação. Para obter a jornada de instalação, consulte Autenticar usuários finais com seu próprio provedor de identidade.

Configurações de autenticação authentication-settings

Encontrado em Configurações > Autenticação. Todos os campos são armazenados por ambiente — o seletor de Workspace seleciona o que você está editando, e salvar nunca afeta o outro.

Texto
Obrigatório
Descrição
Workspace
—
A qual ambiente estas configurações se aplicam: Preparo ou Produção
Habilitar autenticação
—
Chave mestre. Quando desativado, cada ação é pública, independentemente do modo de autenticação
Emissor
Sim
A URL do emissor do seu provedor de identidade e a declaração iss esperada. Deve ser HTTPS. Também publicado como o servidor de autorização deste aplicativo. Um provedor de identidade por aplicativo
Escopos com suporte
Não
O conjunto completo de escopos que as ações deste aplicativo podem exigir. Publicado nas plataformas LLM como escopos compatíveis do aplicativo
URI JWKS
Não
Avançado. O URL HTTPS do conjunto de chaves de assinatura. Necessário somente quando diferente do que os metadados do servidor de autorização anunciam

Regras de validação

Regra
Efeito
Emissor está vazio enquanto Habilitar autenticação está ativado
Salvamento bloqueado
Emissor ou URI JWKS não é uma URL HTTPS
Salvamento bloqueado
Uma ação requer um escopo ausente de Escopos com suporte
Salvar estará bloqueado até que você adicione o escopo ou remova-o da ação
Um escopo foi removido de Escopos com suporte
Ele é removido de todas as ações necessárias, imediatamente, sem esperar um salvamento
Escopos com suporte está vazio
Nenhum escopo pode ser concedido, portanto, qualquer escopo já em uma ação é removido. Nenhum aviso é exibido neste caso
offline_access está listado em Escopos com suporte ou em uma ação
Removido quando o aplicativo é implantado, independentemente do espaço em branco ao redor ou da letra maiúscula, para que a página de configurações possa mostrar um escopo que o aplicativo implantado não tem. offline_access solicita um token de atualização do seu servidor de autorização em vez de conceder acesso a este aplicativo, portanto, não é um escopo anunciado por este aplicativo. Não é necessário listá-lo — a plataforma LLM o solicita diretamente do seu servidor de autorização

As barras finais em Emissor estão normalizadas, e a comparação iss tolera a diferença — um provedor que sempre emite uma barra à direita ainda valida.

Modos de autenticação auth-modes

Definido por ação em Configuração por ação.

Modo
Token obrigatório
Manipulador recebe identidade
Anunciado na plataforma como
Nenhum
Não
Somente quando o chamador fornece um token válido
noauth
Obrigatório
Sim, com cada escopo listado
Sempre
oauth2
Opcional
Não
Quando um token válido estiver presente
noauth e oauth2

Um manipulador de ação Obrigatório nunca é executado sem um token válido e com escopo correto. Um manipulador da ação Opcional sempre é executado e pode solicitar a entrada com extra.challengeAuth().

Obrigatório é, portanto, o único modo que recusa chamadores não autenticados. Um aplicativo é totalmente restrito somente quando cada uma de suas ações é Obrigatório; uma única ação Nenhum ou Opcional torna o aplicativo misto, porque chamadas anônimas ainda são bem-sucedidas para pelo menos uma ação.

Os modos de autenticação só estão em vigor quando Habilitar autenticação está ativado. As alterações entrarão em vigor na próxima implantação do aplicativo.

Alternar esse switch reescreve os modos por ação:

Mudar
Efeito nos modos por ação
Desativado para ativado
Toda ação Nenhuma torna-se Obrigatória. As ações que já são Obrigatórias ou Opcionais mantêm seu modo
Ligado a desligado
O modo e os escopos de cada ação são limpos para esse ambiente. A configuração não será restaurada se você ligar o switch novamente

A alternância do Workspace nunca regrava os modos — ela carrega a configuração salva do outro ambiente como está.

Habilitar autenticação em com cada ação definida como Nenhuma é uma combinação válida, mas inerte: nenhuma chamada é recusada, mas o aplicativo ainda publica seu servidor de autorização para descoberta. Desligue o botão para tornar o aplicativo totalmente público.

Os modos podem ser misturados livremente em um aplicativo. Consulte Comportamento da plataforma LLM para saber como cada plataforma as aplica.

Requisitos de token token-requirements

Seu provedor de identidade deve emitir tokens de acesso que satisfaçam a todos os itens a seguir. Um token reprovado em qualquer verificação é tratado como ausente — o chamador não é autenticado e uma ação Obrigatório desafia-o a entrar.

Requisito
Detalhe
Formato
JWT assinado. Não há suporte para tokens opacos
Algoritmo de assinatura
RS256, RS384, RS512, ES256, ES384, ES512, PS256, PS384 ou PS512. Algoritmos HMAC como HS256 são rejeitados
iss
Deve corresponder a Emissor
aud
Deve conter o identificador de recursos do aplicativo — o URL do servidor MCP desse ambiente
exp
Deve estar no futuro
scope ou scp
String delimitada por espaço ou uma matriz de strings. Fornece os escopos verificados em relação aos requisitos de cada ação
sub
O identificador de usuário que seu manipulador lê através de getAuthenticatedUser
Transporte
Authorization: Bearer <token> cabeçalho da solicitação

Quaisquer declarações simples adicionais incluídas pelo seu provedor — por exemplo, tenant ou email — são passadas para o seu manipulador. Os objetos aninhados são descartados e os valores de sequência longa são truncados.

Descoberta do provedor de identidade discovery

Seu aplicativo publica seus próprios metadados de recursos protegidos do RFC 9728 para que as plataformas LLM possam localizar seu servidor de autorização. Você não cria, hospeda ou configura nada para ele.

Você deve fornecer a descoberta por seu próprio lado:

Requisito
Detalhe
Metadados do servidor de autorização
Seu emissor deve atender aos seus próprios metadados RFC 8414, ou Descoberta OpenID Connect, no caminho /.well-known/. Seu aplicativo o lê para localizar suas chaves de assinatura
Um emissor com um caminho
O segmento conhecido segue antes do caminho, não depois dele. Um emissor em https://auth.example.com/oauth2/default serve seus metadados em https://auth.example.com/.well-known/oauth-authorization-server/oauth2/default
Chaves hospedadas em outro lugar
Defina o URI JWKS quando suas chaves de assinatura não estiverem onde os metadados as anunciam

API de autenticação do manipulador handler-auth-api

Exportado de @adobe/llm-apps-runtime. Cada auxiliar recebe extra, o segundo argumento que seu manipulador recebe.

Auxiliar
Devoluções
getAuthenticatedUser(extra)
A declaração sub do usuário conectado, ou undefined quando a chamada não é autenticada
hasScope(extra, scope)
true quando o token do chamador carrega scope

As informações brutas do token verificado estão em extra.authInfo, que é undefined para uma chamada não autenticada.

Propriedade
Descrição
authInfo.token
O token bruto do portador. Não o registre nem retorne ao cliente
authInfo.clientId
A declaração client_id ou azp, ou unknown
authInfo.scopes
Matriz de escopos concedidos
authInfo.expiresAt
Expiração do token, como a declaração exp
authInfo.resource
O identificador de recurso do aplicativo no qual o token foi validado
authInfo.extra
sub mais qualquer outra declaração simples incluída por seu provedor de identidade

extra.challengeAuth(options) está disponível somente nas ações Opcional. Retorne o resultado do manipulador para solicitar que o usuário entre, em vez de retornar o conteúdo.

Opção
Descrição
error
Um código de erro de portador RFC 6750: invalid_token, insufficient_scope ou invalid_request. O padrão é insufficient_scope
errorDescription
A mensagem mostrada ao usuário. O padrão é um prompt de entrada genérico
scope
Escopos delimitados por espaço a serem solicitados. Omita-a para permitir que a plataforma retorne aos escopos compatíveis do aplicativo
IMPORTANT
Sempre definir error explicitamente. Use invalid_token para um chamador sem sessão válida e insufficient_scope somente para um chamador cujo token é válido, mas não tem um escopo necessário. O valor é transmitido para a plataforma do LLM, que decide por si mesmo como escrever o prompt que mostra ao usuário. Envie o código que descreve com precisão a condição em vez da condição cujo prompt você prefere.

Comportamento da plataforma LLM platform-behavior

O suporte para autenticar ações individuais varia de acordo com a plataforma. Configure da mesma forma para ambos; a diferença é o que o usuário experiencia.

Comportamento
ChatGPT
Claude
Granularidade
Por ação
Por conector
Autenticação mista, quando o aplicativo não está totalmente fechado
Compatível. Somente as ações Necessárias solicitam entrada
Não suportado. Todo o conector solicita entrada, incluindo as ações não atendidas
Configuração do conector
Definir Autenticação como Sem Autenticação quando cada ação for Nenhuma, OAuth quando cada ação for Necessária e Mista caso contrário
Nenhuma escolha de autenticação a ser feita; a entrada começa em Conectar
Reautenticação
Solicitado na conversa quando uma ação fechada é chamada
Solicitado pelo conector

Relacionados

recommendation-more-help
llm-apps-help-main-toc