Referencia de autenticación authentication-reference
Utilice esta página para buscar campos de autenticación y contratos. Para obtener instrucciones de configuración, consulte Autenticar usuarios finales con su propio proveedor de identidad.
Configuración de autenticación authentication-settings
Abra Configuración > Autenticación. Cada entorno almacena su propia configuración. Utilice el selector Workspace para seleccionar el entorno que desea editar; guardar la configuración nunca afectará al otro entorno.
iss. Debe ser HTTPS. También se publica como servidor de autorización de esta aplicación. Un proveedor de identidad por aplicaciónReglas de validación
offline_access aparece en Ámbitos admitidos o en una acciónoffline_access solicita un token de actualización de su servidor de autorización en lugar de conceder acceso a esta aplicación, por lo que no es un ámbito que esta aplicación anuncia. No es necesario que lo enumere: la plataforma LLM lo solicita directamente desde el servidor de autorizaciónLas barras finales de Issuer están normalizadas. La comparación iss tolera la diferencia, por lo que los tokens de un proveedor que siempre incluye una barra diagonal siguen validándose.
Modos de autenticación auth-modes
Definir por acción en Configuración por acción.
noauthoauth2noauth y oauth2El controlador de una acción Required nunca se ejecuta sin un token válido con el ámbito correcto. El controlador de una acción Optional siempre se ejecuta y puede solicitar el inicio de sesión con extra.challengeAuth().
Requerido es, por lo tanto, el único modo que rechaza a los llamadores no autenticados. Una aplicación solo rechaza todas las llamadas anónimas cuando cada acción es Requerida. Si alguna acción es None o Optional, la aplicación usa autenticación mixta porque al menos una acción acepta llamadas anónimas.
Los modos de autenticación solo surten efecto cuando Habilitar autenticación está activada. Los cambios surtirán efecto en la próxima implementación de la aplicación.
Al cambiar el conmutador de autenticación, también se reescriben los modos de acción previa:
Cambiar Workspace nunca reescribe los modos. El selector carga la configuración guardada del otro entorno sin cambiarla.
Con Habilitar autenticación activada y cada acción establecida en Ninguna, la aplicación no requiere autenticación pero sigue publicando su servidor de autorización para la detección. Para que la aplicación sea completamente pública, apague el conmutador.
Una aplicación puede utilizar diferentes modos de autenticación para acciones individuales. Consulte Comportamiento de la plataforma LLM para ver cómo las aplica cada plataforma.
Requisitos de token token-requirements
El proveedor de identidad debe emitir tokens de acceso que cumplan todos los requisitos siguientes. El tiempo de ejecución trata un token que falla en cualquier comprobación como ausente: el llamador no está autenticado y una acción Requerido desafía al llamador a iniciar sesión.
RS256, RS384, RS512, ES256, ES384, ES512, PS256, PS384 o PS512. Los algoritmos HMAC como HS256 se rechazanissaudexpscope o scpscope delimitada por espacios o vuelve a una matriz de cadenas en scp. Utilice una de estas formas para ámbitos comprobados con los requisitos de cada acciónsubgetAuthenticatedUserAuthorization: Bearer <token> encabezado de solicitudCualquier notificación plana adicional que incluya su proveedor (por ejemplo, tenant o email) se pasará al controlador. Se sueltan los objetos anidados y se truncan los valores de cadena largos.
Detección de proveedor de identidad discovery
Su aplicación publica sus propios metadatos de recursos protegidos con RFC 9728 para que las plataformas LLM puedan localizar el servidor de autorización. No es necesario crear, alojar ni configurar los metadatos de recursos protegidos.
El proveedor de identidad debe proporcionar la siguiente información de detección:
jwks_uri; no vuelve a la ruta de detección de OIDChttps://auth.example.com/oauth2/default proporciona sus metadatos en https://auth.example.com/.well-known/oauth-authorization-server/oauth2/defaultAPI de autenticación de controlador handler-auth-api
El paquete @adobe/llm-apps-runtime exporta los siguientes ayudantes. Cada asistente acepta extra, el segundo argumento que recibe el controlador.
getAuthenticatedUser(extra)sub del usuario que inició sesión, o undefined cuando la llamada no está autenticadahasScope(extra, scope)true cuando el token del llamador lleva scopeLa información de tokens comprobados está disponible en extra.authInfo, que es undefined para una llamada no autenticada.
authInfo.tokenauthInfo.clientIdclient_id o azp, o unknownauthInfo.scopesauthInfo.expiresAtexpauthInfo.resourceauthInfo.extrasub más cualquier otra reclamación fija que su proveedor de identidad haya incluidoextra.challengeAuth(options) solo está disponible en acciones opcionales. Devuelva el resultado de su controlador para pedir al usuario que inicie sesión en lugar de devolver contenido.
El asistente devuelve un desafío de resultado de herramienta para ChatGPT. Claude requiere un desafío HTTP de nivel de transporte. El motor en tiempo de ejecución proporciona ese desafío para Acciones necesarias, pero no a través del controlador de ayuda opcional.
errorinvalid_token, insufficient_scope o invalid_request. Valores predeterminados de insufficient_scopeerrorDescriptionscopeerror explícitamente. Use invalid_token para un llamador sin una sesión válida y insufficient_scope solo para un llamador cuyo token sea válido pero que no tenga el ámbito requerido. El motor en tiempo de ejecución pasa el valor a la plataforma LLM, que elige la redacción de la solicitud de inicio de sesión. Envíe el código que describa con precisión la condición en lugar del código con su petición de datos preferida.Comportamiento de la plataforma LLM platform-behavior
Ambas plataformas admiten acciones públicas y protegidas en la misma aplicación, pero sus déclencheur de inicio de sesión difieren.
extra.challengeAuth() del controlador opcionalConsulte Autenticación diferida de Claude y Autenticación ChatGPT para ver el comportamiento actual del cliente. La IU y la política del conector pueden variar según la cuenta y la organización.