Configurar las API de AEM basadas en OpenAPI
Aprenda a configurar su entorno de AEM as a Cloud Service para habilitar el acceso a las API de AEM basadas en OpenAPI.
En este ejemplo, la API de AEM Assets que usa el método de autenticación Servidor a servidor se usa para mostrar el proceso de configuración de las API de AEM basadas en OpenAPI. Se pueden seguir pasos similares para configurar otras API de AEM basadas en OpenAPI.
El proceso de configuración de alto nivel incluye los siguientes pasos:
- Modernización del entorno de AEM as a Cloud Service.
- Habilite el acceso a las API de AEM.
- Crear un proyecto de Adobe Developer Console (ADC).
- Configurar el proyecto de ADC.
- Configure la instancia de AEM para habilitar la comunicación del proyecto ADC.
Requisitos previos
- Acceso al entorno de Cloud Manager y AEM as a Cloud Service
- Acceso a Adobe Developer Console (ADC).
- Proyecto de AEM para agregar o actualizar la configuración de la API en el archivo
api.yaml.
Modernización del entorno de AEM as a Cloud Service modernization-of-aem-as-a-cloud-service-environment
La modernización del entorno de AEM as a Cloud Service es una actividad única por entorno que implica los siguientes pasos. Si ya ha modernizado su entorno de AEM as a Cloud Service, puede omitir este paso.
- Actualización a la versión de AEM 2024.10.18459.20241031T210302Z o posterior.
- Añádale nuevos perfiles de producto si el entorno se creó antes de la versión 2024.10.18459.20241031T210302Z.
Actualizar instancia de AEM update-aem-instance
- Para actualizar la instancia de AEM, después de iniciar sesión en Adobe Cloud Manager, vaya a la sección Entornos, seleccione el icono puntos suspensivos junto al nombre del entorno y seleccione la opción Actualizar.
- Luego haga clic en el botón Enviar y ejecute la canalización de pila completa sugerida.
En mi caso, la canalización Fullstack se llama Dev :: Fullstack-Deploy, y el entorno AEM se llama wknd-program-dev. Sus nombres pueden ser diferentes.
Añadir nuevos perfiles de producto add-new-product-profiles
- Para agregar nuevos perfiles de producto a la instancia de AEM, en la sección Entornos de Adobe Cloud Manager, seleccione el icono de puntos suspensivos junto al nombre del entorno y seleccione la opción Agregar perfiles de producto.
-
Revise los perfiles de producto agregados recientemente haciendo clic en el icono de elipsis junto al nombre de entorno y seleccionando Administrar acceso > Perfiles de autor.
-
La ventana Admin Console muestra los perfiles de producto agregados recientemente. Según sus derechos de AEM, como AEM Assets, AEM Sites, AEM Forms, etc., puede ver diferentes perfiles de producto. Por ejemplo, en mi caso, tengo derechos de AEM Assets y Sites, por lo que veo los siguientes perfiles de producto.
- Los pasos anteriores completan la modernización del entorno de AEM as a Cloud Service.
Habilitar el acceso a las API de AEM enable-aem-apis-access
La presencia de nuevos perfiles de producto habilita el acceso a la API de AEM basada en OpenAPI en Adobe Developer Console (ADC). Sin estos perfiles de producto, no puede configurar las API de AEM basadas en OpenAPI en Adobe Developer Console (ADC).
Los perfiles de producto agregados recientemente están asociados con Servicios que representan grupos de usuarios de AEM con Listas de control de acceso (ACL) predefinidas. Los servicios se utilizan para controlar el nivel de acceso a las API de AEM. También puede seleccionar o deseleccionar los servicios asociados con el perfil de producto para reducir o aumentar el nivel de acceso.
Revise la asociación haciendo clic en el icono Ver detalles junto al nombre del perfil del producto. En la siguiente captura de pantalla, puede ver la asociación de AEM Sites Content Managers - author - Program XXX - Environment XXX Product Profile con el servicio AEM Sites Content Managers. Revisar otros perfiles de producto y sus asociaciones con los servicios.
Habilitar el acceso a las API de AEM Assets enable-aem-assets-apis-access
En este ejemplo, la API de AEM Assets se usa para mostrar el proceso de configuración de las API de AEM basadas en OpenAPI. Sin embargo, de manera predeterminada, el servicio Usuarios de la API de AEM Assets no está asociado con ningún perfil de producto. Debe asociarlo con el perfil de producto deseado.
Asociémoslo con los Usuarios colaboradores de AEM Assets recién agregados - autor - Programa XXX - Entorno XXX Perfil de producto o cualquier otro Perfil de producto que desee usar para el acceso a la API de AEM Assets.
Habilitar la autenticación de servidor a servidor
Para habilitar la autenticación de servidor a servidor para las API de AEM deseadas basadas en OpenAPI, el usuario que configura la integración con Adobe Developer Console (ADC) debe agregarse como Desarrollador al Perfil de producto donde está asociado el Servicio.
Por ejemplo, para habilitar la autenticación de servidor a servidor para la API de AEM Assets, se debe agregar el usuario como desarrollador a Usuarios de AEM Assets Collaborator - autor - Programa XXX - Entorno XXX Perfil del producto.
Después de esta asociación, la API de autor de recursos del proyecto ADC puede configurar la autenticación de servidor a servidor deseada y asociar la cuenta de autenticación del proyecto ADC (creada en el siguiente paso) con el perfil de producto.
Al realizar todos los pasos anteriores, ha preparado el entorno de AEM as a Cloud Service para habilitar el acceso a las API de AEM basadas en OpenAPI. A continuación, debe crear el proyecto de Adobe Developer Console (ADC) para configurar las API de AEM basadas en OpenAPI.
Crear proyecto de Adobe Developer Console (ADC) adc-project
El proyecto de Adobe Developer Console (ADC) se utiliza para configurar las API de AEM basadas en OpenAPI. Recuerde que Adobe Developer Console (ADC) es el centro para desarrolladores para acceder a las API de Adobe, los SDK, los eventos en tiempo real, las funciones sin servidor y mucho más.
El proyecto ADC se utiliza para agregar las API deseadas, configurar su autenticación y asociar la cuenta de autenticación con el perfil de producto.
Para crear un proyecto de ADC:
-
Inicie sesión en Adobe Developer Console con su Adobe ID.
-
En la sección Inicio rápido, haga clic en el botón Crear nuevo proyecto.
-
Crea un nuevo proyecto con el nombre predeterminado.
-
Edite el nombre del proyecto haciendo clic en el botón Editar proyecto en la esquina superior derecha. Proporcione un nombre descriptivo y haga clic en Guardar.
Configurar proyecto de ADC configure-adc-project
Después de crear el proyecto de ADC, debe agregar las API de AEM deseadas, configurar su autenticación y asociar la cuenta de autenticación con el perfil de producto.
En este caso, la API de AEM Assets se usa para mostrar el proceso de configuración de las API de AEM basadas en OpenAPI. Sin embargo, puede seguir pasos similares para agregar otras API de AEM basadas en OpenAPI como AEM Sites API, AEM Forms API, etc. Los derechos de AEM determinan las API disponibles en Adobe Developer Console (ADC).
-
Para agregar las API de AEM, haga clic en el botón Agregar API.
-
En el cuadro de diálogo Agregar API, filtre por Experience Cloud y seleccione la API de AEM que desee. Por ejemplo, en este caso, la API de autor de recursos está seleccionada.
note tip TIP Si la tarjeta de la API de AEM deseada está deshabilitada y ¿Por qué está deshabilitada?La información de muestra el mensaje Se requiere licencia. Una de las razones podría ser que NO ha modernizado su entorno de AEM as a Cloud Service. Consulte Modernización del entorno de AEM as a Cloud Service para obtener más información. -
A continuación, en el cuadro de diálogo Configurar API, seleccione la opción de autenticación que desee. Por ejemplo, en este caso, la opción de autenticación Servidor a servidor está seleccionada.
La autenticación de servidor a servidor es ideal para los servicios back-end que necesitan acceso a API sin interacción del usuario. Las opciones de autenticación Aplicación web y Aplicación de una sola página son adecuadas para las aplicaciones que necesitan acceso a la API en nombre de los usuarios. Para obtener más información, consulte Diferencia entre OAuth servidor a servidor vs aplicación web vs. credenciales de aplicación de una sola página.
note tip TIP Si no ve la opción Autenticación de servidor a servidor, significa que el usuario que configura la integración no se agrega como Desarrollador al Perfil de producto donde está asociado el servicio. Consulte Habilitar la autenticación de servidor a servidor para obtener más información. -
Si es necesario, puede cambiar el nombre de la API para facilitar la identificación. Para fines de demostración, se utiliza el nombre predeterminado.
-
En este caso, el método de autenticación es OAuth Server-to-Server, por lo que debe asociar la cuenta de autenticación con el perfil de producto. Seleccione el perfil de producto Usuarios colaboradores de AEM Assets - Autor - Programa XXX - Entorno XXX y haga clic en Guardar.
-
Revise la configuración de autenticación y la API de AEM.
Si elige el método de autenticación OAuth Web App o OAuth Single Page App, no se solicita la asociación del perfil de producto, pero se requiere el URI de redireccionamiento de la aplicación. El URI de redireccionamiento de la aplicación se utiliza para redirigir al usuario a la aplicación después de la autenticación con un código de autorización. Los tutoriales de casos de uso relevantes describen estas configuraciones específicas de autenticación.
Configure la instancia de AEM para habilitar la comunicación del proyecto de ADC configure-aem-instance
A continuación, debe configurar la instancia de AEM para habilitar la comunicación anterior del proyecto ADC. Con esta configuración, el ID de cliente del proyecto ADC NO puede comunicarse con la instancia de AEM y provoca un error 403 prohibido. Considere esta configuración como una regla del cortafuegos para permitir que solo los ID de cliente permitidos se comuniquen con la instancia de AEM.
Vamos a seguir los pasos para configurar la instancia de AEM para habilitar la comunicación anterior del proyecto ADC.
-
En el equipo local, vaya al proyecto de AEM (o clónelo si aún no lo ha hecho) y busque la carpeta
config. -
En AEM Project, busque o cree el archivo
api.yamlen la carpetaconfig. En mi caso, el proyecto WKND Sites de AEM se usa para mostrar el proceso de configuración de las API de AEM basadas en OpenAPI.
-
Agregue la siguiente configuración al archivo
api.yamlpara permitir que el ClientID del proyecto ADC se comunique con la instancia de AEM.code language-yaml kind: "API" version: "1.0" metadata: envTypes: ["dev", "stage", "prod"] data: allowedClientIDs: author: - "<ADC Project's Credentials ClientID>"Reemplace
<ADC Project's Credentials ClientID>por el ClientID real del valor Credentials del proyecto ADC. El extremo de API que se usa en este tutorial solo está disponible en el nivel de creación, pero para otras API, la configuración yaml también puede tener un nodo publish o preview.note caution CAUTION Para fines de demostración, se utiliza el mismo ClientID para todos los entornos. Se recomienda utilizar ClientID independiente por entorno (dev, stage, prod) para mejorar la seguridad y el control. -
Confirme los cambios de configuración e inserte los cambios en el repositorio Git remoto al que está conectada la canalización de Cloud Manager.
-
Implemente los cambios anteriores mediante la Canalización de configuración en Cloud Manager.
Tenga en cuenta que el archivo api.yaml también se puede instalar en un RDE, con herramientas de línea de comandos. Esto resulta útil para probar los cambios de configuración antes de implementarlos en el entorno de producción.
Próximos pasos
Una vez configurada la instancia de AEM para habilitar la comunicación del proyecto ADC, puede empezar a utilizar las API de AEM basadas en OpenAPI. Aprenda a utilizar las API de AEM basadas en OpenAPI utilizando diferentes métodos de autenticación de OAuth:
Invocar la API mediante la autenticación de servidor a servidor
Obtenga información sobre cómo invocar las API de AEM basadas en OpenAPI desde una aplicación NodeJS personalizada mediante la autenticación de servidor a servidor de OAuth.
Invocar la API mediante la autenticación de aplicación web
Obtenga información sobre cómo invocar las API de AEM basadas en OpenAPI desde una aplicación web personalizada mediante la autenticación de aplicación web de OAuth.
Invocar la API mediante la autenticación de aplicación de una sola página
Aprenda a invocar las API de AEM basadas en OpenAPI desde una aplicación de una sola página (SPA) personalizada mediante el flujo PKCE de OAuth 2.0.