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 all’API HTTP di Assets. 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:
- Accesso a un ambiente AEM as a Cloud Service (preferibilmente un ambiente di sviluppo o un programma sandbox)
- Appartenenza al profilo di prodotto Amministratore AEM per i servizi di authoring dell’ambiente AEM as a Cloud Service
- Iscrizione o accesso all'amministratore dell'organizzazione Adobe IMS (sarà necessario eseguire un'inizializzazione una tantum delle credenziali del servizio)
- L'ultimo sito WKND distribuito nell'ambiente di Cloud Service
Panoramica dell’applicazione esterna
Questa esercitazione utilizza un'applicazione Node.js semplice eseguita dalla riga di comando per aggiornare i metadati delle risorse in AEM as a Cloud Service utilizzando API HTTP Assets.
Il flusso di esecuzione dell’applicazione Node.js è il seguente:
-
L’applicazione Node.js viene richiamata dalla riga di comando
-
I parametri della riga di comando definiscono:
- Host del servizio AEM as a Cloud Service Author a cui connettersi (
aem
) - Cartella di risorse AEM di cui vengono aggiornate le risorse (
folder
) - Proprietà e valore dei metadati da aggiornare (
propertyName
epropertyValue
) - Percorso locale del file che fornisce le credenziali necessarie per accedere ad AEM as a Cloud Service (
file
)
- Host del servizio AEM as a Cloud Service Author a cui connettersi (
-
Il token di accesso utilizzato per l'autenticazione a AEM deriva dal file JSON fornito tramite il parametro della riga di comando
file
a. Se nel file JSON (
file
) vengono fornite le credenziali del servizio utilizzate per lo sviluppo non locale, il token di accesso viene recuperato dalle API Adobe IMS -
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
-
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
epropertyValue
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 Author e Publish. 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 su HTTP. Le credenziali del servizio non vengono inviate a AEM per l'autenticazione, ma l'applicazione esterna le utilizza 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 ad AEM as a Cloud Service.
Risorse aggiuntive
-
Altri esempi di codice per la creazione e lo scambio di JWT