Authentification basée sur les jetons à AEM en tant que Cloud Service

AEM expose divers points de terminaison HTTP qui peuvent être interactifs sans interface, depuis GraphQL, AEM Content Services jusqu’à l’API HTTP Assets. Souvent, ces clients sans interface peuvent avoir besoin de 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 par jeton des requêtes HTTP provenant d’applications, de services ou de systèmes externes.

Dans ce tutoriel, découvrez comment une application externe peut s’authentifier et interagir par programmation avec AEM en tant que Cloud Service sur 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 :

  1. Accès à d’AEM en tant qu’environnement de Cloud Service (de préférence un environnement de développement ou un programme Sandbox)
  2. Abonnement à l’AEM en tant que service de création de l’environnement de Cloud Service AEM profil de produit administrateur
  3. Adhésion ou accès à votre administrateur de l’organisation Adobe IMS (il devra effectuer une initialisation unique des Informations d’identification du service)
  4. Dernier site WKND déployé dans votre environnement de Cloud Service

Présentation des applications externes

Ce tutoriel utilise une application Node.js simple exécutée à partir de la ligne de commande pour mettre à jour les métadonnées des ressources 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 :

Application externe

  1. L’application Node.js est appelée à partir de la ligne de commande.

  2. Les paramètres de ligne de commande définissent :

    • L’AEM hôte du service Auteur en tant que Cloud Service auquel se connecter (aem)
    • Le dossier de ressources AEM dont les ressources seront mises à jour (folder)
    • La propriété et la valeur de métadonnées à mettre à jour (propertyName et propertyValue)
    • Chemin d’accès local au fichier contenant les informations d’identification requises pour accéder à AEM en tant que Cloud Service (file)
  3. 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 du 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 Adobe IMS.

  4. 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

  5. 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 et propertyValue

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 AEM spécifique en tant qu’environnement de Cloud Service 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 d’avoir à obtenir et gérer des informations d’identification de service fiables, un développeur peut rapidement et facilement générer automatiquement un jeton d’accès temporaire qui lui permet de développer son intégration.

Informations d’identification du service

Les informations d’identification du service sont les informations d’identification fiables utilisées dans tous les scénarios de non-développement - la plus évidente étant la production - qui facilitent la capacité d’une application ou d’un système externe à s’authentifier et à interagir avec l’AEM en tant que Cloud Service sur HTTP. Les informations d’identification du service elles-mêmes ne sont pas envoyées à AEM pour authentification. Au lieu de cela, l’application externe les utilise pour générer un jeton d’accès JWT, qui est échangé avec les API d’Adobe IMS pour un jeton d’accès, qui peut ensuite être utilisé pour authentifier les requêtes HTTP vers AEM en tant que Cloud Service.

Ressources supplémentaires

Sur cette page