Autenticación basada en tókenes en AEM as a Cloud Service
AEM expone una variedad de puntos finales HTTP con los que se puede interactuar sin encabezado, desde GraphQL, AEM Content Services o la API HTTP de Assets. A menudo, estos consumidores sin encabezado pueden necesitar autenticarse en AEM para acceder a contenido o acciones protegidos. Para facilitar esto, AEM admite la autenticación basada en tókenes de solicitudes HTTP desde aplicaciones, servicios o sistemas externos.
En este tutorial, exploraremos cómo una aplicación externa puede autenticarse mediante programación e interactuar con AEM as a Cloud Service a través de HTTP mediante tókenes de acceso.
Requisitos previos
Asegúrese de que cumple los siguientes requisitos antes de seguir este tutorial:
- Acceso a un entorno de AEM as a Cloud Service (preferiblemente, un entorno de desarrollo o un programa de zona protegida)
- Abono en el perfil de producto del administrador de AEM a los servicios de Author del entorno de AEM as a Cloud Service.
- Ser miembro o tener acceso a su administrador de IMS de Adobe Org (deberá realizar una inicialización única de las Credenciales de servicio)
- El sitio WKND más reciente implementado en su entorno Cloud Service
Información general sobre la aplicación externa
Este tutorial utiliza una aplicación Node.js simple que se ejecuta desde la línea de comandos para actualizar los metadatos de los recursos en AEM as a Cloud Service mediante la API HTTP de Assets.
El flujo de ejecución de la aplicación Node.js es el siguiente:
-
La aplicación Node.js se invoca desde la línea de comandos
-
Los parámetros de línea de comandos definen lo siguiente:
- El host del servicio de Author de AEM as a Cloud Service al que conectarse (
aem
) - La carpeta de recursos de AEM cuyos recursos se han actualizado (
folder
) - La propiedad y el valor de los metadatos que se van a actualizar (
propertyName
ypropertyValue
) - La ruta de acceso local al archivo que proporciona las credenciales necesarias para obtener acceso a AEM as a Cloud Service (
file
)
- El host del servicio de Author de AEM as a Cloud Service al que conectarse (
-
El token de acceso que se utiliza para autenticarse en AEM deriva del archivo JSON proporcionado mediante el parámetro de línea de comandos
file
a. Si las credenciales de servicio utilizadas para el desarrollo no local se proporcionan en el archivo JSON (
file
), el token de acceso se recupera de las API de IMS de Adobe -
La aplicación utiliza el token de acceso para acceder a AEM y enumerar todos los recursos de la carpeta especificada en el parámetro de línea de comandos
folder
-
Para cada recurso de la carpeta, la aplicación actualiza sus metadatos en función del nombre de propiedad y el valor especificados en los parámetros de línea de comandos
propertyName
ypropertyValue
Aunque esta aplicación de ejemplo es Node.js, estas interacciones se pueden desarrollar utilizando diferentes lenguajes de programación y ejecutarse desde otros sistemas externos.
Token de acceso de desarrollo local
Los tókenes de acceso de desarrollo local se generan para un entorno de AEM as a Cloud Service específico y proporcionan acceso a los servicios de creación y publicación. Estos tókenes de acceso son temporales y solo se utilizan durante el desarrollo de aplicaciones o sistemas externos que interactúan con AEM a través de HTTP. En lugar de tener que obtener y administrar credenciales de servicio auténticas, un desarrollador puede generar de forma rápida y sencilla un token de acceso temporal que le permita desarrollar su integración.
Credenciales de servicio
Las credenciales de servicio son credenciales auténticas que se utilizan en cualquier escenario que no sea de desarrollo (el más obvio es el de producción) y facilitan la posibilidad de que una aplicación o un sistema externo se autentique e interactúe con AEM as a Cloud Service a través de HTTP. Las credenciales del servicio en sí no se envían a AEM para la autenticación, sino que la aplicación externa las utiliza para generar un JWT, que luego se intercambia con las API de IMS de Adobe por un token de acceso, y se puede utilizar para autenticar solicitudes HTTP a AEM as a Cloud Service.
Recursos adicionales
-
Otros ejemplos de código de creación e intercambio de JWT