AEM as aCloud Serviceへのトークンベースの認証

AEMは、GraphQL、AEMコンテンツサービスからAssets HTTP APIへ、ヘッドレスな方法で操作できる様々なHTTPエンドポイントを公開します。 多くの場合、これらのヘッドレスな消費者は、保護されたコンテンツやアクションにアクセスするために、AEMに対する認証が必要になる場合があります。 これを容易にするために、AEMは、外部のアプリケーション、サービスまたはシステムからのHTTPリクエストのトークンベースの認証をサポートします。

このチュートリアルでは、外部アプリケーションが、アクセストークンを使用して、HTTP経由でCloud ServiceとしてAEMに対してプログラムによる認証とやり取りをおこなう方法をよく調べます。

前提条件

このチュートリアルに従う前に、次の点を確認してください。

  1. am AEM as aCloud Service環境(できれば、開発環境またはサンドボックスプログラム)へのアクセス
  2. AEM as a Cloud Service環境のオーサーサービスAEM Administrator製品プロファイルのメンバーシップ
  3. Adobe IMS組織管理者のメンバーシップ(アクセス)(サービス資格情報の初期化を1回だけ実行する必要があります)
  4. Cloud Service環境にデプロイされた最新のWKNDサイト

外部アプリケーションの概要

このチュートリアルでは、コマンドラインから単純なNode.jsアプリケーションを実行し、Assets HTTP APIを使用してCloud ServiceとしてAEMのアセットメタデータを更新します。

Node.jsアプリケーションの実行フローは次のとおりです。

外部アプリケーション

  1. Node.jsアプリケーションは、コマンドラインから呼び出されます。

  2. コマンドラインパラメータの定義:

    • 接続先のAEM as a as aCloud Serviceオーサーサービスホスト(aem)
    • アセットが更新されるAEMアセットフォルダー(folder)
    • 更新するメタデータのプロパティと値(propertyNamepropertyValue
    • AEM as aCloud Service(file)へのアクセスに必要な資格情報を提供するファイルへのローカルパス
  3. AEMへの認証に使用されるアクセストークンは、コマンドラインパラメーターfileで提供されるJSONファイルから取得されます

    a.非ローカル開発に使用されるサービス資格情報がJSONファイル(file)で指定されている場合、アクセストークンはAdobe IMSAPIから取得されます

  4. アプリケーションはアクセストークンを使用してAEMにアクセスし、コマンドラインパラメーターfolderで指定されたフォルダー内のすべてのアセットをリストします

  5. フォルダー内のアセットごとに、コマンドラインパラメーターpropertyNamepropertyValueで指定されたプロパティ名と値に基づいてメタデータが更新されます

このサンプルアプリケーションはNode.jsですが、これらのインタラクションは、異なるプログラミング言語を使用して開発し、他の外部システムから実行できます。

ローカル開発アクセストークン

ローカル開発アクセストークンは、特定のAEM as aCloud Service環境用に生成され、オーサーサービスとパブリッシュサービスへのアクセスを提供します。 これらのアクセストークンは一時的なもので、HTTP経由でAEMとやり取りする外部アプリケーションやシステムの開発時にのみ使用されます。 開発者が正式なサービス資格情報を取得して管理する代わりに、一時的なアクセストークンをすばやく簡単に自己生成して、統合を開発できます。

サービス資格情報

サービス資格情報は、非開発シナリオ(ほとんどの場合、実稼動環境で使用される)で使用される正式な資格情報で、HTTP経由のCloud ServiceとしてAEMを認証および操作する外部アプリケーションまたはシステムの機能を支援します。 サービス資格情報自体は認証用にAEMに送信されず、外部アプリケーションがJWTを生成します。JWTはAdobe IMSのAPI ​用に交換され、AEMに対するHTTP要求をCloud Serviceとして認証するために使用できます。

その他のリソース

このページ