Introduzione

Alcune architetture si basano sull'effettuazione di chiamate a AEM come Cloud Service da un'applicazione ospitata su un server esterno all'infrastruttura AEM. Ad esempio, un'applicazione mobile che chiama un server, che quindi esegue richieste API da AEM come Cloud Service.

Il flusso server-to-server è descritto di seguito, insieme a un flusso semplificato per lo sviluppo. Il AEM come Cloud Service Developer Console viene utilizzato per generare i token necessari per il processo di autenticazione.

NOTA

Oltre a questa documentazione, è anche possibile consultare l'esercitazione sull'autenticazione basata su Token per AEM come Cloud Service.

Flusso server

Un utente con un ruolo di amministratore dell'organizzazione IMS può generare un AEM come credenziale di Cloud Service, che può essere successivamente recuperata da un utente con il AEM come ruolo di amministratore dell'ambiente di Cloud Service e deve essere installato sul server e deve essere trattato attentamente come una chiave segreta. Questo file di formato JSON contiene tutti i dati necessari per l'integrazione con un AEM come API di Cloud Service. I dati vengono utilizzati per creare un token JWT firmato, che viene scambiato con IMS per un token di accesso IMS. Questo token di accesso può quindi essere utilizzato come token di autenticazione del portatore per effettuare richieste di AEM come Cloud Service.

Il flusso server-to-server comporta i seguenti passaggi:

  • Recuperare il AEM come credenziali di Cloud Service dalla Developer Console
  • Installare il AEM come credenziali di Cloud Service su un server non AEM che effettua chiamate a AEM
  • Generare un token JWT e scambiarlo per un token di accesso utilizzando Adobi API IMS
  • Chiamata dell'API AEM con il token di accesso come token di autenticazione del portatore
  • Impostare le autorizzazioni appropriate per l'utente dell'account tecnico nell'ambiente AEM

Recupera il AEM come credenziali Cloud Service

Gli utenti che hanno accesso al AEM come console per sviluppatori di Cloud Service visualizzeranno la scheda integrazioni nella console per sviluppatori di un determinato ambiente, oltre a due pulsanti. Un utente con il ruolo di amministratore dell'ambiente di Cloud Service AEM può fare clic sul pulsante Ottieni credenziali del servizio per visualizzare il json delle credenziali del servizio, che conterrà tutte le informazioni necessarie per il server non AEM, inclusi ID client, segreto client, chiave privata, certificato e configurazione per i livelli di creazione e pubblicazione dell'ambiente, indipendentemente dalla selezione del contenitore.

Generazione JWT

L'output sarà simile al seguente:

{
  "ok": true,
  "integration": {
    "imsEndpoint": "ims-na1.adobelogin.com",
    "metascopes": "ent_aem_cloud_sdk,ent_cloudmgr_sdk",
    "technicalAccount": {
      "clientId": "cm-p123-e1234",
      "clientSecret": "4AREDACTED17"
    },
    "email": "abcd@techacct.adobe.com",
    "id": "ABCDAE10A495E8C@techacct.adobe.com",
    "org": "1234@AdobeOrg",
    "privateKey": "-----BEGIN RSA PRIVATE KEY-----\r\REDACTED\r\n==\r\n-----END RSA PRIVATE KEY-----\r\n",
    "publicKey": "-----BEGIN CERTIFICATE-----\r\nREDACTED\r\n-----END CERTIFICATE-----\r\n"
  },
  "statusCode": 200
}
IMPORTANTE

Un amministratore dell'organizzazione IMS (in genere lo stesso utente che ha eseguito il provisioning dell'ambiente tramite Cloud Manager) deve prima accedere a Developer Console e fare clic sul pulsante Ottieni credenziali di servizio per generare le credenziali e recuperarle successivamente da un utente con autorizzazioni di amministratore per l'AEM come ambiente di Cloud Service. Se l’amministratore dell’organizzazione IMS non lo ha fatto, un messaggio li informa che hanno bisogno del ruolo di amministratore dell’organizzazione IMS.

Installare AEM Credenziali del servizio su un server non AEM

L'applicazione che effettua chiamate a AEM non AEM dovrebbe essere in grado di accedere al AEM come credenziali di Cloud Service, trattandolo come un segreto.

Generare un token JWT e scambiarlo per un token di accesso

Utilizzate le credenziali per creare un token JWT in una chiamata a servizio IMS per recuperare un token di accesso, valido per 24 ore.

Le AEM credenziali del servizio CS possono essere scambiate per un token di accesso utilizzando le librerie client progettate a tal fine. Le librerie client sono disponibili da Adobe repository GitHub pubblico, che contiene informazioni più dettagliate e informazioni più recenti.

/*jshint node:true */
"use strict";

const fs = require('fs');
const exchange = require("@adobe/aemcs-api-client-lib");

const jsonfile = "aemcs-service-credentials.json";

var config = JSON.parse(fs.readFileSync(jsonfile, 'utf8'));
exchange(config).then(accessToken => {
    // output the access token in json form including when it will expire.
    console.log(JSON.stringify(accessToken,null,2));
}).catch(e => {
    console.log("Failed to exchange for access token ",e);
});

Lo stesso scambio può essere eseguito in qualsiasi lingua in grado di generare un token JWT firmato con il formato corretto e di chiamare le API di scambio token IMS.

Il token di accesso definisce la data di scadenza, che in genere corrisponde a 24 ore. È presente un esempio di codice nel repository Git per gestire un token di accesso e aggiornarlo prima della scadenza.

Chiamata dell'API AEM

Eseguite le chiamate API server-to-server appropriate a un AEM come ambiente di Cloud Service, incluso il token di accesso nell’intestazione. Quindi, per l’intestazione “Autorizzazione”, utilizzate il valore "Bearer <access_token>". Ad esempio, utilizzando curl:

curl -H "Authorization: Bearer <your_ims_access_token>" https://author-p123123-e23423423.adobeaemcloud.com/content/dam.json

Impostate le autorizzazioni appropriate per l'utente dell'account tecnico in AEM

Dopo che l'utente dell'account tecnico è stato creato in AEM (questo si verifica dopo la prima richiesta con il token di accesso corrispondente), l'utente dell'account tecnico deve essere autorizzato correttamente in in AEM.

Per impostazione predefinita, nel servizio AEM Author l’utente dell’account tecnico viene aggiunto al gruppo di utenti Collaboratori che fornisce AEM di accesso in lettura.

Questo utente tecnico di account in AEM può essere ulteriormente privato con le autorizzazioni utilizzando i metodi usuali.

Flusso sviluppatore

È probabile che gli sviluppatori desiderino eseguire il test utilizzando un'istanza di sviluppo dell'applicazione non AEM (in esecuzione sul laptop o in hosting) che esegue richieste a un AEM di sviluppo come ambiente di sviluppo Cloud Service. Tuttavia, poiché gli sviluppatori non dispongono necessariamente di autorizzazioni per il ruolo di amministratore IMS, non possiamo supporre che possano generare il portatore JWT descritto nel flusso regolare server-to-server. Forniamo quindi un meccanismo che consente a uno sviluppatore di generare direttamente un token di accesso da utilizzare nelle richieste di AEM come ambienti di Cloud Service a cui hanno accesso.

Per informazioni sulle autorizzazioni necessarie per utilizzare il AEM come console per sviluppatori di Cloud Service, consultate la Guida per sviluppatori.

NOTA

Il token di accesso allo sviluppo locale è valido per un massimo di 24 ore dopo il quale deve essere rigenerato utilizzando lo stesso metodo.

Gli sviluppatori possono utilizzare questo token per effettuare chiamate dall'applicazione di prova non AEM a un AEM come ambiente Cloud Service. In genere, lo sviluppatore utilizza questo token con l'applicazione non AEM sul proprio computer portatile. Inoltre, il AEM come cloud è in genere un ambiente non di produzione.

Il flusso di sviluppo prevede i seguenti passaggi:

  • Generare un token di accesso dalla console per sviluppatori
  • Chiama l'applicazione AEM con il token di accesso.

Gli sviluppatori possono inoltre effettuare chiamate API a un progetto AEM in esecuzione sul computer locale, nel qual caso non è necessario un token di accesso.

Generazione del token di accesso

Fate clic sul pulsante Ottieni token di sviluppo locale nella console per sviluppatori per generare un token di accesso.

Chiama quindi AEM applicazione con un token di accesso

Eseguite le chiamate API server-to-server appropriate dall’applicazione non AEM a un AEM come ambiente Cloud Service, incluso il token di accesso nell’intestazione. Quindi, per l’intestazione “Autorizzazione”, utilizzate il valore "Bearer <access_token>".

Revoca credenziali di servizio

Se il token del portatore JWT deve essere revocato, invia una richiesta all'assistenza clienti.

In questa pagina