Configuration de l’accès serveur à serveur OAuth pour les API de communication AEM Forms
Ce guide fournit des instructions pour configurer et appeler les API synchrones de communications AEM Forms accessibles via Adobe Developer Console à l’aide de l’authentification de serveur à serveur OAuth.
Conditions préalables
Pour configurer un environnement afin d’exécuter et de tester les API AEM Forms Communications, vérifiez que vous disposez des éléments suivants :
Mise à jour de l’environnement AEM as a Cloud Service
- AEM version 2024.10.18459.20241031T210302Z ou ultérieure
- Mettre à jour les profils de produit si l’environnement a été créé avant novembre 2024
Accès et autorisations
Assurez-vous de disposer des droits d’accès et des autorisations requis avant de commencer à configurer les API Communications.
Autorisations des utilisateurs et des rôles
- Rôle de développeur affecté dans Adobe Admin Console
- Autorisation de création de projets dans le Adobe Developer Console
Accès au référentiel Git
- Accès au référentiel Git de Cloud Manager
- Informations d’identification Git pour le clonage et l’envoi de modifications
Générer un jeton d’accès à l’aide de Adobe Developer Console (ADC)
- Générez un jeton d’accès via Adobe Developer Console à l’aide de l’authentification de serveur à serveur OAuth.
- Récupérer l’ID client à partir du Adobe Developer Console
Outils de développement
- Node.js pour exécuter des exemples d’applications
- Dernière version de Git
- Accès à Terminal/Ligne de commande
- Éditeur de texte ou IDE pour modifier les fichiers de configuration (VS Code, IntelliJ, etc.)
- Postman ou outil similaire pour les tests d’API
Configuration des API synchrones de communication d’AEM Forms
Les API de communication d’AEM Forms sont accessibles via Adobe Developer Console à l’aide de l’authentification serveur à serveur OAuth.
Suivez les étapes expliquant comment configurer les API synchrones de communication Forms pour générer PDF à l’aide du modèle et du fichier XDP :
Étape 1 : accéder à l’environnement AEM Cloud Service et au point d’entrée AEM Forms
Accédez aux détails de votre environnement AEM Cloud Service pour obtenir les URL et les identifiants nécessaires à la configuration de l’API.
1.1 Connexion à Adobe Cloud Manager
- Accédez à my.cloudmanager.adobe.com
- Connexion avec votre Adobe ID
1.2 Accéder à l’aperçu du programme
Sélectionnez votre programme dans la liste. Vous êtes redirigé vers la page Aperçu du programme
1.3 Accès et affichage de l’environnement AEM Cloud Service
Vous pouvez afficher les détails de l’environnement AEM Cloud Service ou y accéder à l’aide de l’une des deux options suivantes :
-
Sur la page Aperçu du programme
-
Cliquez sur « Environnements » dans le menu de gauche. Vous pouvez voir une liste de tous les environnements
-
Cliquez sur le nom de l’environnement pour en afficher les détails
-
Sur la page Aperçu du programme
-
Recherchez la section Environnements
-
Cliquez sur « Tout afficher » pour afficher tous les environnements
-
Cliquez sur le menu points de suspension (…) en regard de l’environnement
-
Sélectionnez « Afficher les détails »
1.4. Rechercher Le Point D’Entrée AEM Forms
Sur la page de détails Environnement, notez votre instance d’URL AEM.
Étape 2 : Cloner Le Référentiel Git
Clonez le référentiel Git de Cloud Manager pour gérer vos fichiers de configuration API.
2.1 Recherchez la section Référentiel
-
Sur la page Présentation du programme, cliquez sur l’onglet Référentiels
-
Recherchez le nom du référentiel et cliquez sur le menu représentant des points de suspension (…)
-
Copiez l’URL du référentiel.
https://git.cloudmanager.adobe.com/<org>/<program>/2.2 Cloner À L’Aide De La Commande Git
-
Ouvrez l’invite de commande ou le terminal
-
Exécutez la commande
git clonepour cloner le référentiel Git.code language-bash git clone [repository-url]
Par exemple, pour cloner votre référentiel Git, exécutez la commande suivante :
https://git.cloudmanager.adobe.com/formsinternal01/AEMFormsInternal-ReleaseSanity-pXXX-ukYYYY/
Pour en savoir plus sur l’intégration d’Adobe Cloud Manager à Adobe Cloud Manager, voir Documentation sur l’intégration Git.
Étape 3 : configuration du projet Adobe Developer Console
3.1 Accès à Adobe Developer Console
- Accéder à Adobe Developer Console
- Connexion avec votre Adobe ID
- Créer un projet ou accéder à votre projet existant
-
Dans la section Démarrage rapide, cliquez sur Créer un projet
-
Un nouveau projet est créé avec un nom par défaut
-
Cliquez sur Modifier le projet dans le coin supérieur droit
-
Fournissez un nom significatif (par exemple, « projet de formulaire »).
-
Cliquer sur Enregistrer
-
Cliquez sur Tous les projets dans le Adobe Developer Console
-
Recherchez votre projet et cliquez pour l’ouvrir.
3.2 Ajout des API de communication Forms
-
Cliquez sur Ajouter une API
-
Dans la boîte de dialogue Ajouter une API, filtrez par Experience Cloud
-
Sélectionnez « API de communication Forms »
-
Cliquer sur Suivant
-
Sélectionnez la méthode d’authentification OAuth de serveur à serveur
-
Cliquer sur Suivant
3.3 Ajouter un profil de produit
-
Sélectionnez le Profil produit correspondant à l’URL de votre instance AEM (
https://Service Type -Environment Type-Program XXX-Environment XXX.adobeaemcloud.com). -
Cliquez sur Save configured API (Enregistrer l’API configurée). L’API et le profil de produit sont ajoutés au projet
-
Consultez la section Informations d’identification
Enregistrer les informations d’identification de l’API
API Credentials:
================
Client ID: <your_client_id>
Client Secret: <your_client_secret>
Technical Account ID: <tech_account_id>
Organization ID: <org_id>
Scopes: AdobeID,openid,read_organizations
3.4 Générer l’accès
Générez manuellement les jetons d’accès dans Adobe Developer Console :
-
Cliquez sur le bouton Générer un jeton d’accès » dans la section API de votre projet
-
Copier le jeton d’accès généré
| note note |
|---|
| NOTE |
| Le jeton d’accès est valide pendant 24 heures uniquement |
Générez des jetons par programmation à l’aide de l’API Adobe IMS :
Informations d’identification requises :
- ID client
- Secret client
- Portées (généralement :
openid, AdobeID, read_organizations, additional_info.projectedProductContext, read_pc.dma_aem_cloud, aem.document)
Point d’entrée du jeton :
| code language-none |
|---|
|
Exemple de requête (curl) :
| code language-bash |
|---|
|
Réponse:
| code language-json |
|---|
|
Vous pouvez désormais utiliser le jeton d’accès généré pour effectuer un appel API pour les environnements de développement, d’évaluation ou de production.
Étape 4 : enregistrement de l’ID client avec l’environnement AEM
Pour permettre à l’ID client de votre projet ADC de communiquer avec l’instance AEM, vous devez l’enregistrer à l’aide d’un fichier de configuration YAML et le déployer via un pipeline de configuration.
4.1 Rechercher ou créer un répertoire de configuration
-
Accédez au référentiel de projet AEM cloné et localisez le dossier
config -
S’il n’existe pas, créez-le au niveau racine du projet :
code language-bash mkdir config -
Créez un fichier nommé
api.yamldans le répertoireconfig:code language-bash touch config/api.yaml -
Ajoutez le code suivant dans le fichier
api.yaml:code language-yaml kind: "API" version: "1" metadata: envTypes: ["dev"] # or ["prod", "stage"] for production environments data: allowedClientIDs: author: - "<your_client_id>" publish: - "<your_client_id>" preview: - "<your_client_id>"
Les paramètres de configuration sont expliqués ci-dessous :
-
kind : toujours définie sur
"API"(identifie cela comme une configuration d'API) -
version : version de l’API, généralement
"1"ou"1.0" -
envTypes : tableau des types d’environnements auxquels s’applique cette configuration.
["dev"]- Environnements de développement uniquement["stage"]- Environnements d’évaluation uniquement["prod"]- Environnements de production uniquement
-
allowedClientIDs : ID de client autorisés à accéder à votre instance AEM
- author : ID de client pour le niveau de création
- publish : ID de client pour le niveau de publication
- preview : ID de client pour le niveau d’aperçu
4.2 Valider et envoyer les modifications
-
Accédez au dossier racine du référentiel cloné et exécutez les commandes ci-dessous :
code language-bash git add config/api.yaml git commit -m "Whitelist client id for api invocation" git push origin <your-branch>
Étape 5 : Configurer le pipeline de configuration
5.1 Connexion à Adobe Cloud Manager
- Accédez à my.cloudmanager.adobe.com
- Connexion avec votre Adobe ID
5.1 Localiser la carte Pipelines
-
Recherchez la vignette Pipelines dans la page Aperçu du programme .
-
Cliquez sur bouton « Ajouter »
5.2 Sélectionner le type de pipeline
-
Pour Les Environnements De Développement : Sélectionnez « Ajouter Un Pipeline Hors Production ». Les pipelines hors production sont destinés aux environnements de développement et intermédiaires
-
Pour Les Environnements De Production : Sélectionnez « Ajouter Un Pipeline De Production ». Les pipelines de production nécessitent des approbations supplémentaires
1. Configuration du pipeline - Onglet Configuration
Dans l’onglet Configuration :
a. Type de pipeline
- Sélectionnez Pipeline de déploiement
b. Nom du pipeline
- Attribuez un nom explicite, par exemple, «
api-config-pipieline» au pipeline.
c. Déclencheur de déploiement
- Manuel : le déploiement n’est effectué que lorsqu’il est déclenché manuellement (recommandé pour la configuration initiale)
- Lors des modifications Git : déploiement automatique lorsque les modifications sont transmises à la branche
d. Comportement en cas d’échecs de mesures importants
- Demander à chaque fois : demande d’action en cas d’échec (par défaut)
- Échec immédiat : échec automatique du pipeline en cas d’échec des mesures
- Continuer immédiatement : continuer malgré les échecs
e. Cliquez sur « Continuer » pour accéder à l’onglet Code Source
2. Configuration du pipeline - Onglet Code Source
Dans l'onglet Code Source :
a. Type de déploiement
- Sélectionnez « Déploiement ciblé »
b. Options de déploiement
- Sélectionnez « Config » (déployer les fichiers de configuration uniquement). Il indique à Cloud Manager qu’il s’agit d’un déploiement de configuration.
c. Sélectionner un environnement de déploiement éligible
- Choisissez l’environnement dans lequel vous souhaitez déployer la configuration. Dans ce cas, il s’agit d’un environnement
dev.
d. Définition des détails du code Source
- Référentiel : sélectionnez le référentiel contenant votre fichier
api.yaml. Par exemple, sélectionnez le référentielAEMFormsInternal-ReleaseSanity-pXXXXX-ukYYYYY. - Branche Git : sélectionnez votre branche. Par exemple, dans ce cas, notre code est déployé au niveau de la branche
main. - Emplacement du code : saisissez le chemin d’accès au répertoire
config. Comme leapi.yamlse trouve dansconfigdossier racine, saisissez/config
e. Cliquez sur « Enregistrer » pour créer le pipeline
Étape 6 : déploiement de la configuration
Maintenant que le pipeline est créé, déployez votre configuration api.yaml
6.1 Dans la présentation des pipelines
- Sur la page Aperçu du programme , recherchez la vignette Pipelines
- Accédez au pipeline de configuration que vous venez de créer dans la liste. Par exemple, recherchez le nom du pipeline que vous avez créé (par exemple, « api-config-pipeline »). Vous pouvez afficher les détails du pipeline, notamment le statut et la dernière exécution.
6.2 Démarrer le déploiement **
- Cliquez sur le bouton « Créer » (ou sur l’icône de lecture ▶) à côté de votre pipeline
- Confirmez le déploiement si vous y êtes invité et l’exécution du pipeline commence
6.3 Vérification de la réussite du déploiement
-
Attendez que le pipeline soit terminé.
-
S’il réussit, le statut passe à « Succès » (coche verte ✓).
-
En cas d’échec, le statut est remplacé par « Échec » (✗ croix rouge). Cliquez sur Télécharger les journaux pour afficher les détails de l’erreur.
-
Vous pouvez maintenant commencer à tester les API Forms Communications. À des fins de test, vous pouvez utiliser le client Postman, curl ou tout autre client REST pour appeler les API .
Étape 7 : spécifications et tests de l’API
Maintenant que votre environnement est configuré, vous pouvez commencer à tester les API de communication AEM Forms à l’aide de l’interface utilisateur Swagger ou par programmation en développant l’application NodeJS.
L’interface utilisateur Swagger fournit une interface interactive pour tester les API sans écrire de code. Utilisez la fonctionnalité Essayer pour appeler et tester l’API de communication Forms générer PDF.
-
Accédez à Référence de l’API de communication Forms puis ouvrez la documentation de l’API de communication Forms dans votre navigateur.
-
Développez la section Génération de documents et sélectionnez Génère un formulaire PDF à remplir à partir d’un modèle XDP ou PDF, éventuellement avec fusion des données.
-
Dans le volet de droite, cliquez sur Essayer.
-
Saisissez les valeurs suivantes :
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 Section Paramètre Valeur. compartiment Instance AEM Nom de l’instance AEM sans le nom de domaine Adobe ( .adobeaemcloud.com) Par exemple, utilisezpXXXXX-eYYYYYcomme compartiment.Sécurité Jeton porteur Utilisez le jeton d’accès à partir des informations d’identification OAuth de serveur à serveur du projet Adobe Developer Console Corps template Chargez un fichier XDP pour générer le formulaire PDF. Par exemple, vous pouvez utiliser ce XDP pour générer un PDF. Corps data Fichier XML facultatif contenant les données à fusionner avec le modèle pour générer un formulaire PDF prérempli. Par exemple, vous pouvez utiliser ce XML pour générer un PDF. Paramètres X-Adobe-Accept-Experimental 1 -
Cliquez sur Envoyer pour appeler l’API
-
Vérifiez la réponse dans l’onglet Réponse :
- Si le code de réponse est
200, cela signifie que le PDF a été créé avec succès. - Si le code de réponse est
400, cela signifie que les paramètres de requête sont non valides ou incorrects. - Si le code de réponse est
500, cela signifie qu’il existe une erreur de serveur interne. - Si le code de réponse est
403, cela signifie qu’il existe une erreur d’autorisation.
Dans ce cas, le code de réponse est
200, ce qui signifie que le PDF a bien été généré :
Vous pouvez désormais télécharger le PDF créé à l’aide du bouton Télécharger et l’afficher dans la visionneuse PDF :
note note NOTE À des fins de test, vous pouvez également utiliser Postman, curl ou tout autre client REST pour appeler les API AEM. - Si le code de réponse est
Développez une application Node.js pour générer un formulaire PDF à remplir à partir d’un modèle XDP et d’un fichier de données XML à l’aide de l’API Document Services
Conditions préalables
- Node.js installé sur votre système
- Instance AEM as a Cloud Service active
- Jeton porteur pour l’authentification de l’API à partir de Adobe Developer Console
- Exemple de fichier XDP : ClosingForm.xdp
- Exemple de fichier XML : ClosingForm.xml
Pour développer l’application Node.js, procédez comme suit :
Étape 1 : créer un projet Node.js
Ouvrez le cmd/terminal et exécutez les commandes ci-dessous :
| code language-bash |
|---|
|
Étape 2 : Installer les dépendances requises
Installez les bibliothèques node-fetch, dotenv et form-data pour effectuer des requêtes HTTP, lire des variables d’environnement et gérer les données de formulaire, respectivement.
| code language-bash |
|---|
|
Étape 3 : mettre à jour package.json
-
Ouvrez le cmd/terminal et exécutez la commande :
code language-bash code .
Le projet s’ouvre alors dans l’éditeur de code.
-
Mettez à jour le fichier
package.jsonpour ajouter letypeàmodule.code language-bash { "name": "demo-nodejs-generate-pdf", "version": "1.0.0", "type": "module", "main": "index.js", }
Étape 4 : créer un fichier .env
-
Créer un fichier .env au niveau racine d’un projet
-
Ajoutez la configuration suivante et remplacez les espaces réservés par les valeurs réelles des informations d’identification OAuth de serveur à serveur du projet ADC.
code language-bash CLIENT_ID=<ADC Project OAuth Server-to-Server credential ClientID> CLIENT_SECRET=<ADC Project OAuth Server-to-Server credential Client Secret> SCOPES=<ADC Project OAuth Server-to-Server credential Scopes>
note note NOTE Vous pouvez copier les CLIENT_ID,CLIENT_SECRETetSCOPESà partir du projet Adobe Developer Console.
Étape 5 : Créer src/index.js
- Créer
index.jsfichier au niveau racine du projet - Ajoutez le code suivant et remplacez les espaces réservés par les valeurs réelles :
| code language-javascript |
|---|
|
Étape 6 : exécuter l’application
| code language-bash |
|---|
|
Le PDF est créé dans le dossier demo-nodejs-generate-pdf . Accédez au dossier pour trouver le fichier généré nommé generatedForm.pdf.
Vous pouvez ouvrir le PDF généré pour l’afficher.
Résolution des problèmes
Problèmes courants et causes possibles
Problème 1 : Erreur 403 Interdite
Symptômes :
403 Forbiddende retour des requêtes API- Message d’erreur : Accès non autorisé
Cause possible :
- Identifiant client non inscrit dans la configuration
api.yamlde l’instance AEM
Problème 2 : Erreur 401 Non Autorisée
Symptômes :
401 Unauthorizedde retour des requêtes API- Message d’erreur : jeton non valide ou expiré
Causes possibles :
- Jeton d’accès expiré (valide pendant 24 heures uniquement)
- Identifiant client et secret client incorrects ou incompatibles
Problème 3 : Erreur 404 Introuvable
Symptômes :
404 Not Foundde retour des requêtes API- Message d’erreur : Ressource introuvable ou point d’entrée API introuvable
Cause possible :
- Paramètre de compartiment incorrect (ne correspond pas à l’identifiant de l’instance AEM)
Problème 4 : Échec Du Déploiement Du Pipeline
Symptômes :
- Échec de l’exécution de la configuration du pipeline
- Les journaux de déploiement affichent les erreurs liées aux
api.yaml
Causes possibles :
- Syntaxe YAML non valide (problèmes de mise en retrait, de guillemets ou de format de tableau)
api.yamlplacé dans un répertoire incorrect- Identifiant client incorrect ou mal formé dans la configuration
- Secret client non valide
Problème 5 : échec de l’exécution des API de communication Forms
Symptômes :
- Les requêtes d’API renvoient des erreurs indiquant des fonctionnalités non prises en charge ou indisponibles.
- La génération de PDF à l’aide de XDP et XML ne fonctionne pas.
- Le déploiement du pipeline s’est terminé avec succès, mais les appels de l’API d’exécution échouent.
Cause possible :
L’environnement AEM exécute une version publiée avant l’introduction ou la prise en charge des API de communication Forms.
Pour mettre à jour l'environnement AEM, consultez la section Mettre à jour l'instance AEM .
Mettre à jour l’instance AEM
Pour mettre à jour l’instance AEM afin de localiser les détails de l’environnement :
-
Sélectionnez l’icône
ellipsis(…) en regard du nom de l’environnement, puis cliquez sur Mettre à jour -
Cliquez sur le bouton Envoyer et exécutez le pipeline full stack suggéré.
Articles connexes
- Pour savoir comment configurer un environnement pour le traitement par lots (API asynchrones), consultez Traitement par lots des communications AEM Forms as a Cloud Service.