Referência de autenticação authentication-reference
Use esta página para pesquisar campos e contratos de autenticação. Para obter instruções de configuração, consulte Autenticar usuários finais com seu próprio provedor de identidade.
Configurações de autenticação authentication-settings
Abra Configurações > Autenticação. Cada ambiente armazena suas próprias configurações. Use o seletor de Workspace para selecionar o ambiente a ser editado; salvar as configurações nunca afeta o outro ambiente.
iss esperada. Deve ser HTTPS. Também publicado como o servidor de autorização deste aplicativo. Um provedor de identidade por aplicativoRegras de validação
offline_access está listado em Escopos com suporte ou em uma açãooffline_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çãoBarras à direita em Emissor estão normalizadas. A comparação iss tolera a diferença, portanto, os tokens de um provedor que sempre inclui uma barra à direita ainda são validados.
Modos de autenticação auth-modes
Definido por ação em Configuração por ação.
noauthoauth2noauth e oauth2Um 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 rejeita chamadores não autenticados. Um aplicativo rejeita todas as chamadas anônimas apenas quando cada ação é Obrigatória. Se alguma ação for Nenhuma ou Opcional, o aplicativo usará autenticação mista porque pelo menos uma ação aceita chamadas anônimas.
Os modos de autenticação só têm efeito quando Habilitar autenticação está ativado. As alterações entrarão em vigor na próxima implantação do aplicativo.
Alterar o switch de autenticação também reescreve os modos por ação:
A alternância de Workspace nunca regrava modos. O seletor carrega a configuração salva do outro ambiente sem alterá-la.
Com Habilitar autenticação ativada e cada ação definida como Nenhuma, o aplicativo não requer autenticação, mas ainda publica seu servidor de autorização para descoberta. Para tornar o aplicativo totalmente público, desligue o.
Um aplicativo pode usar diferentes modos de autenticação para ações individuais. 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 atendam a todos os requisitos a seguir. O tempo de execução trata um token com falha em qualquer verificação como ausente: o chamador não está autenticado e uma ação Obrigatório desafia o chamador a entrar.
RS256, RS384, RS512, ES256, ES384, ES512, PS256, PS384 ou PS512. Algoritmos HMAC como HS256 são rejeitadosissaudexpscope ou scpscope delimitada por espaços ou retorna para uma matriz de cadeias de caracteres em scp. Usar uma dessas formas para escopos verificados em relação aos requisitos de cada açãosubgetAuthenticatedUserAuthorization: Bearer <token> cabeçalho da solicitaçãoQuaisquer 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. Não é necessário criar, hospedar ou configurar os metadados de recursos protegidos.
Seu provedor de identidade deve fornecer as seguintes informações de descoberta:
jwks_uri; ele não retornará ao caminho de descoberta do OIDChttps://auth.example.com/oauth2/default serve seus metadados em https://auth.example.com/.well-known/oauth-authorization-server/oauth2/defaultAPI de autenticação do manipulador handler-auth-api
O pacote @adobe/llm-apps-runtime exporta os seguintes auxiliares. Cada auxiliar aceita extra, o segundo argumento que seu manipulador recebe.
getAuthenticatedUser(extra)sub do usuário conectado, ou undefined quando a chamada não é autenticadahasScope(extra, scope)true quando o token do chamador carrega scopeAs informações de token verificadas estão disponíveis em extra.authInfo, que é undefined para uma chamada não autenticada.
authInfo.tokenauthInfo.clientIdclient_id ou azp, ou unknownauthInfo.scopesauthInfo.expiresAtexpauthInfo.resourceauthInfo.extrasub mais qualquer outra declaração simples incluída por seu provedor de identidadeextra.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.
O auxiliar retorna um desafio de resultado de ferramenta para ChatGPT. Claude requer um desafio HTTP de nível de transporte. Os suprimentos de tempo de execução que desafiam as ações Necessárias, mas não através do auxiliar de manipulador opcional.
errorinvalid_token, insufficient_scope ou invalid_request. O padrão é insufficient_scopeerrorDescriptionscopeerror 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 tempo de execução passa o valor para a plataforma LLM, que escolhe o texto do prompt de logon. Envie o código que descreve com precisão a condição em vez do código com o prompt de sua preferência.Comportamento da plataforma LLM platform-behavior
Ambas as plataformas oferecem suporte a ações públicas e protegidas no mesmo aplicativo, mas os acionadores de logon são diferentes.
extra.challengeAuth() do manipulador opcionalConsulte Autenticação lenta e ChatGPT do Claude para conhecer o comportamento atual do cliente. A interface do usuário e a política do conector podem variar de acordo com a conta e a organização.