Autenticazione basata su token per AEM as a Cloud Service

AEM espone una varietà di endpoint HTTP che possono interagire con modalità headless, da GraphQL, AEM Content Services ad Assets HTTP API. Spesso, questi consumatori headless devono autenticarsi all’AEM per accedere a contenuti o azioni protetti. Per facilitare questa fase, l’AEM supporta l’autenticazione basata su token delle richieste HTTP provenienti da applicazioni, servizi o sistemi esterni.

In questo tutorial, esplora come un’applicazione esterna può autenticare e interagire a livello di programmazione con AEM as a Cloud Service tramite HTTP utilizzando i token di accesso.

Prerequisiti

Prima di seguire questa esercitazione, assicurati che siano presenti i seguenti elementi:

  1. Accesso a un ambiente as a Cloud Service AEM (preferibilmente un ambiente di sviluppo o un programma sandbox)
  2. Iscrizione al profilo di prodotto Amministratore AEM dei servizi di authoring dell’ambiente as a Cloud Service dell’AEM
  3. L’iscrizione o l’accesso all’amministratore dell’organizzazione Adobe IMS (è necessario eseguire l’inizializzazione una tantum del Credenziali servizio)
  4. Ultimo/i Sito WKND implementato nell’ambiente di Cloud Service

Panoramica dell’applicazione esterna

Questa esercitazione utilizza un applicazione Node.js semplice esegui dalla riga di comando per aggiornare i metadati delle risorse su AEM as a Cloud Service utilizzando API HTTP di Assets.

Il flusso di esecuzione dell’applicazione Node.js è il seguente:

Applicazione esterna

  1. L’applicazione Node.js viene richiamata dalla riga di comando

  2. I parametri della riga di comando definiscono:

    • Host del servizio Author as a Cloud Service da AEM a cui connettersi (aem)
    • Cartella di risorse AEM di cui vengono aggiornate le risorse (folder)
    • Proprietà e valore dei metadati da aggiornare (propertyName e propertyValue)
    • Percorso locale del file che fornisce le credenziali necessarie per accedere a AEM as a Cloud Service (file)
  3. Il token di accesso utilizzato per l’autenticazione in AEM deriva dal file JSON fornito tramite il parametro della riga di comando file

    a. Se le credenziali del servizio utilizzate per lo sviluppo non locale sono fornite nel file JSON (file), il token di accesso viene recuperato dalle API Adobe IMS

  4. L’applicazione utilizza il token di accesso per accedere a AEM ed elencare tutte le risorse nella cartella specificata nel parametro della riga di comando folder

  5. Per ogni risorsa della cartella, l’applicazione aggiorna i metadati in base al nome e al valore della proprietà specificati nei parametri della riga di comando propertyName e propertyValue

Anche se questa applicazione di esempio è Node.js, queste interazioni possono essere sviluppate utilizzando linguaggi di programmazione diversi ed eseguite da altri sistemi esterni.

Token di accesso per lo sviluppo locale

I token di accesso per lo sviluppo locale vengono generati per un ambiente AEM as a Cloud Service specifico e forniscono accesso ai servizi di authoring e pubblicazione. Questi token di accesso sono temporanei e devono essere utilizzati solo durante lo sviluppo di applicazioni o sistemi esterni che interagiscono con l’AEM tramite HTTP. Invece di dover ottenere e gestire le credenziali del servizio bonafide, uno sviluppatore può generare in modo rapido e semplice un token di accesso temporaneo che consente di sviluppare l’integrazione.

Credenziali servizio

Le credenziali di servizio sono credenziali bonafide utilizzate in qualsiasi scenario non di sviluppo, ovviamente di produzione, che facilitano l’autenticazione e l’interazione di un’applicazione o un sistema esterno con AEM as a Cloud Service tramite HTTP. Le credenziali del servizio non vengono inviate all’AEM per l’autenticazione, ma vengono utilizzate dall’applicazione esterna per generare un JWT che viene scambiato con le API di Adobe IMS per un token di accesso, che può quindi essere utilizzato per autenticare le richieste HTTP a AEM as a Cloud Service.

Risorse aggiuntive

recommendation-more-help
e25b6834-e87f-4ff3-ba56-4cd16cdfdec4