Autenticazione basata su token per AEM as a Cloud Service
- Si applica a:
- Experience Manager as a Cloud Service
- Argomenti:
- API
Creato per:
- Intermedio
- Esperto
- Sviluppatore
AEM espone diversi endpoint HTTP con cui si può interagire in modo headless, da GraphQL, AEM Content Services all’API HTTP di Assets. Spesso, questi consumatori headless potrebbero dover effettuare l’autenticazione ad AEM per accedere a contenuti o azioni protetti. A tal fine, AEM supporta l’autenticazione basata su token delle richieste HTTP provenienti da applicazioni, servizi o sistemi esterni.
In questo tutorial, esploreremo 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 questo tutorial, assicurati di disporre di quanto segue:
- Accesso a un ambiente AEM as a Cloud Service (preferibilmente un ambiente di sviluppo o un programma sandbox)
- Iscrizione 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 una singola inizializzazione delle credenziali del servizio)
- Il sito WKND più recente distribuito nell’ambiente Cloud Service
Panoramica dell’applicazione esterna
Questo tutorial utilizza un’applicazione Node.js semplice eseguita dalla riga di comando per aggiornare i metadati delle risorse in AEM as a Cloud Service utilizzando l’API HTTP di 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:
- L’host del servizio di authoring AEM as a Cloud Service a cui connettersi (
aem
) - La cartella di risorse AEM di cui vengono aggiornate le risorse (
folder
) - La proprietà e il valore dei metadati da aggiornare (
propertyName
epropertyValue
) - Il percorso locale del file che fornisce le credenziali necessarie per accedere ad AEM as a Cloud Service (
file
)
- L’host del servizio di authoring AEM as a Cloud Service a cui connettersi (
-
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 nel file JSON (
file
) vengono fornite le credenziali del servizio utilizzate per lo sviluppo non locale, il token di accesso viene recuperato dalle API di Adobe IMS -
L’applicazione utilizza il token di accesso per accedere ad AEM ed elencare tutte le risorse nella cartella specificata nel parametro della riga di comando
folder
-
Per ciascuna 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 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 AEM tramite HTTP. Invece di dover ottenere e gestire le credenziali del servizio autentiche, uno sviluppatore può generare in modo rapido e semplice un token di accesso temporaneo che gli consente di sviluppare l’integrazione.
Credenziali del servizio
Le credenziali del servizio sono credenziali autentiche utilizzate in qualsiasi scenario non di sviluppo, la maggior parte ovviamente di produzione, che permettono a un’applicazione o un sistema esterni di autenticare e interagire con AEM as a Cloud Service tramite HTTP. Le credenziali del servizio non vengono inviate ad 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 in AEM as a Cloud Service.
Risorse aggiuntive
-
Altri esempi di codice per la creazione e lo scambio di JWT