Authentification basée sur les jetons à AEM as a Cloud Service
AEM offre de nombreux points d’entrée HTTP accessibles de manière découplée, tels que GraphQL, AEM Content Services et l’API HTTP d’Assets. Souvent, ces clients découplés doivent s’authentifier auprès d’AEM pour accéder à un contenu ou à des actions protégés. Pour faciliter cette opération, AEM prend en charge l’authentification basée sur les jetons des requêtes HTTP provenant d’applications, de services ou de systèmes externes.
Suivez ce tutoriel et découvrez comment une application externe peut s’authentifier par programmation et interagir avec AEM as a Cloud Service via HTTP à l’aide de jetons d’accès.
Prérequis
Assurez-vous que les éléments suivants sont en place avant de suivre ce tutoriel :
- L’accès à un environnement AEM as a Cloud Service (de préférence un environnement de développement ou un programme sandbox)
- L’appartenance au profil de produit d’administration du service de création AEM de l’environnement AEM as a Cloud Service
- L’appartenance ou l’accès à l’administration de l’organisation Adobe IMS (l’administration devra effectuer une initialisation unique des Informations d’identification de service)
- Le dernier WKND Site déployé dans votre environnement Cloud Service
Présentation de l’application externe
Ce tutoriel utilise une application Node.js simple, exécutée à partir de la ligne de commande, pour mettre à jour les métadonnées de ressource sur AEM as a Cloud Service à l’aide de l’API HTTP Assets.
Le flux d’exécution de l’application Node.js est le suivant :
-
L’application Node.js est appelée à partir de la ligne de commande.
-
Les paramètres de ligne de commande définissent les éléments suivants :
- L’hôte du service de création AEM as a Cloud Service auquel se connecter (
aem
) - Le dossier de ressources d’AEM dont les ressources sont mises à jour (
folder
) - La propriété et la valeur de métadonnées à mettre à jour (
propertyName
etpropertyValue
) - Le chemin d’accès local au fichier contenant les informations d’identification requises pour accéder à AEM as a Cloud Service (
file
)
- L’hôte du service de création AEM as a Cloud Service auquel se connecter (
-
Le jeton d’accès utilisé pour s’authentifier sur AEM est dérivé du fichier JSON fourni via le paramètre de ligne de commande
file
.a. Si les informations d’identification de service utilisées pour le développement non local sont fournies dans le fichier JSON (
file
), le jeton d’accès est récupéré à partir des API d’Adobe IMS. -
L’application utilise le jeton d’accès pour accéder à AEM et répertorier toutes les ressources du dossier spécifié dans le paramètre de ligne de commande
folder
. -
Pour chaque ressource du dossier, l’application met à jour ses métadonnées en fonction du nom et de la valeur de la propriété spécifiés dans les paramètres de ligne de commande
propertyName
etpropertyValue
.
Bien que cet exemple d’application soit Node.js, ces interactions peuvent être développées à l’aide de différents langages de programmation et exécutées à partir d’autres systèmes externes.
Jeton d’accès au développement local
Les jetons d’accès au développement local sont générés pour un environnement AEM as a Cloud Service spécifique et permettent d’accéder aux services de création et de publication. Ces jetons d’accès sont temporaires et ne doivent être utilisés que lors du développement d’applications ou de systèmes externes qui interagissent avec AEM via HTTP. Au lieu de devoir obtenir et gérer des informations d’identification de service authentiques, l’équipe de développement peut rapidement et en toute facilité générer un jeton d’accès temporaire de manière automatique, ce qui leur permet de développer leur intégration.
Informations d’identification de service
Les informations d’identification de service sont les informations d’identification authentiques utilisées dans tous les scénarios en dehors du développement (en particulier lors de la production). Elles facilitent l’authentification et l’interaction des applications et systèmes externes avec AEM as a Cloud Service via HTTP. Les informations d’identification de service ne sont pas transmises à AEM pour l’authentification, mais l’application externe les utilise pour générer un jeton JWT qui est échangé avec les API d’Adobe IMS contre un jeton d’accès, qui peut ensuite être utilisé pour authentifier les requêtes HTTP à AEM as a Cloud Service.
Ressources supplémentaires
-
Autres exemples de code pour la création et l’échange de jeton JWT