Generazione dei token di accesso per le API lato server generating-access-tokens-for-server-side-apis

NOTE
Le credenziali da server a server OAuth in AEM Developer Console sono disponibili a partire dal 4 novembre 2026.
IMPORTANT
Utilizza le credenziali server-to-server OAuth per le integrazioni lato server. Le credenziali dell’account di servizio (JWT) sono obsolete a favore di OAuth Server-to-Server. Per le integrazioni esistenti basate su JWT, vedi Generazione dei token di accesso per le API lato server - JWT (legacy).

Alcune architetture si basano sull’esecuzione di chiamate ad Adobe Experience Manager (AEM) as a Cloud Service da un’applicazione ospitata su un server al di fuori dell’infrastruttura AEM. Ad esempio, un’app mobile chiama un server, che quindi effettua richieste API ad AEM as a Cloud Service.

Utilizza AEM as a Cloud Service Developer Console per creare un account tecnico da server a server OAuth. L’applicazione scambia l’ID client e il segreto client con un token di accesso utilizzando la sovvenzione Adobe Identity Management Services (IMS) client_credentials. Non è richiesto alcun JWT firmato, chiave privata o certificato.

NOTE
Il Developer Console AEM gestisce l'accesso all'ambiente AEM. È diverso dal Developer Console Adobe in developer.adobe.com/console. Crea e gestisci l’account tecnico descritto qui in AEM Developer Console.

Flusso server-to-server the-server-to-server-flow

Gli utenti con un ruolo di amministratore dell’organizzazione IMS che sono anche membri del profilo di prodotto Utenti AEM o Amministratori AEM in AEM Author possono creare un account tecnico. Il segreto client viene mostrato solo all’utente che lo crea, al momento della creazione. L’utente con il ruolo di amministratore dell’ambiente AEM as a Cloud Service può visualizzare i dettagli dell’account, che non includono il segreto client.

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

  1. Crea un account tecnico da server a server OAuth e salva le relative credenziali, incluso il segreto client visualizzato al momento della creazione.
  2. Archivia le credenziali in modo sicuro sul server che invia le richieste ad AEM.
  3. Richiedi un token di accesso da IMS utilizzando l’ID client, il segreto client e gli ambiti.
  4. Configura il profilo di prodotto dell’account tecnico e le autorizzazioni AEM.
  5. Chiama l’API AEM con il token di accesso come token Bearer.

Creare un account tecnico e recuperarne le credenziali fetch-the-aem-as-a-cloud-service-credentials

IMPORTANT
AEM Developer Console mostra un segreto client OAuth Server-to-Server una sola volta, quando viene creato. AEM Developer Console non memorizza il valore segreto. Conserva solo l’ID segreto e il relativo stato. IMS memorizza il segreto come hash unidirezionale. Salva il segreto in modo sicuro quando viene visualizzato. Se lo perdi, crea un nuovo segreto utilizzando un altro segreto attivo o crea un nuovo account tecnico.
  1. Apri integrazioni. Apri AEM Developer Console per l’ambiente a cui accede l’applicazione, quindi seleziona Integrazioni. Selezionare Crea nuovo account tecnico.

    Pagina Integrazioni con l'opzione Crea nuovo account tecnico evidenziata

  2. Crea l’account tecnico. Nella finestra di dialogo, seleziona OAuth Server-to-Server (S2S) come Tipo di credenziali, quindi seleziona Crea.

    Finestra di dialogo Crea nuovo account tecnico con OAuth Server-to-Server selezionato

  3. Salva il segreto client. Nella finestra di dialogo Salva segreto client sono visualizzate le credenziali, incluso technicalAccount.clientSecret. Selezionare Scarica credenziali per salvarle come aem-s2s-credentials.json oppure selezionare Copia negli Appunti. Memorizzare le credenziali in un gestore dei segreti o in un’altra posizione controllata dall’accesso per l’applicazione.

    Salvare la finestra di dialogo del segreto client con il valore del segreto client nascosto ed evidenziare Download delle credenziali e Copy to Appunti

    Seleziona Chiudi. Nella finestra di dialogo di conferma Chiudi senza ulteriore accesso al segreto, seleziona Chiudi solo dopo aver salvato il segreto in modo sicuro. Una volta chiusa la finestra di dialogo, il segreto non può più essere visualizzato.

    Chiudi senza ulteriori accessi alla finestra di dialogo di conferma segreta con Chiudi evidenziato

  4. Rivedi l’account tecnico. Il nuovo account server-to-server OAuth è elencato con il relativo segreto client Attivo. L’ID segreto visualizzato nell’elenco identifica un segreto. Non è il valore segreto e non può essere utilizzato come client_secret in una richiesta token.

    Nuovo account server-to-server OAuth con un segreto client attivo e menu azioni aperto

Per rivedere i dettagli di un segreto in un secondo momento, aprire il menu a righe del segreto client e selezionare Visualizza. La finestra di dialogo delle credenziali mostra l’endpoint IMS, gli ambiti, l’ID client, l’e-mail dell’account tecnico, l’ID segreto e lo stato di revoca. Non mostra il valore segreto client.

Finestra di dialogo delle credenziali senza il valore segreto client

NOTE
I clienti possono creare fino a 20 account tecnici. Gli account eliminati vengono conteggiati in questo limite.
IMPORTANT
Un amministratore dell'organizzazione IMS che è anche membro del profilo di prodotto Utenti AEM o Amministratori AEM in AEM Author deve creare l'account tecnico. Poiché il segreto client viene visualizzato una sola volta, l’utente che crea l’account è responsabile del passaggio delle credenziali al proprietario dell’applicazione tramite un canale sicuro.

Installare le credenziali del servizio AEM su un server non AEM install-the-aem-service-credentials-on-a-non-aem-server

Rendi le credenziali disponibili solo per l’applicazione lato server che chiama AEM. Utilizza un gestore segreto o un altro meccanismo di archiviazione controllato dagli accessi.

Non inserire un segreto client nel codice lato browser, nelle applicazioni mobili, nel controllo del codice sorgente o nei registri. Tratta i token di accesso anche come segreti.

Richiedere un token di accesso OAuth request-an-oauth-access-token

Invia una richiesta HTTPS POST a https://<imsEndpoint>/ims/token/v3. imsEndpoint nelle credenziali JSON è un nome host IMS. Ad esempio, ims-na1.adobelogin.com utilizza https://ims-na1.adobelogin.com/ims/token/v3. Utilizza il nome host fornito nelle credenziali, incluso il nome host dell’area di visualizzazione quando utilizzi le credenziali dell’area di visualizzazione.

Utilizza Content-Type: application/x-www-form-urlencoded e includi questi campi modulo nel corpo della richiesta:

Parametro
Valore
grant_type
client_credentials
client_id
technicalAccount.clientId dalle tue credenziali.
client_secret
technicalAccount.clientSecret salvato al momento della creazione del segreto.
scope
I valori in scopes, uniti con virgole.

Codifica URL per ogni valore del modulo. Invia segreti nel corpo della richiesta, non nell’URL o nella stringa di query.

La risposta include access_token, token_type e expires_in. Utilizza access_token per chiamare AEM. Il valore expires_in è la durata del token in secondi. Utilizza tale valore anziché presupporre un tempo di scadenza fisso.

Memorizza in cache e riutilizza il token di accesso fino alla scadenza, quindi richiedi un nuovo token con le stesse credenziali client. Questa concessione non richiede uno scambio JWT o un token di aggiornamento.

NOTE
Utilizza le credenziali per l’ambiente AEM che stai chiamando. Un token di accesso IMS valido non concede autorizzazioni AEM aggiuntive. Configura le autorizzazioni dell’account tecnico come descritto di seguito.

Esempio di autenticazione di Node.js nodejs-authentication-example

Per un’implementazione minima da server a server OAuth, vedi l’esempio Libreria client API AEM-CS. Utilizza le API Node.js integrate e richiede Node.js 18 o versione successiva, senza dipendenze aggiuntive.

Nell’esempio sono previste le credenziali all’interno di un oggetto integration. Il file aem-s2s-credentials.json scaricato da AEM Developer Console contiene le credenziali senza questo wrapper. Racchiudi il contenuto prima di utilizzarlo con l’esempio, ad esempio con jq:

jq '{integration: .}' aem-s2s-credentials.json > downloaded_integration.json

In alternativa, modificare il file in modo che il relativo contenuto completo diventi il valore di un campo integration di primo livello. Da un checkout dell’archivio di esempio, esegui:

node oauth-s2s-cli.js downloaded_integration.json

Per uso programmatico, l’helper OAuth accetta l’oggetto racchiuso come requestAccessToken(credentials). Utilizza il nome host IMS, l’ID client, il segreto client e gli ambiti in integration.

Mantenere privato il file delle credenziali. CLI stampa un token di accesso. Non inviare il relativo output ai registri condivisi e non pubblicarlo. Il file README dell’esempio mostra anche come utilizzare il token in una richiesta API di AEM.

Chiamata dell’API AEM calling-the-aem-api

Includi il token di accesso nell’intestazione Authorization delle richieste per l’ambiente AEM as a Cloud Service, utilizzando il valore Bearer <access_token>.

curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
  "https://author-p<program-id>-e<environment-id>.adobeaemcloud.com/content/dam.json"

Utilizza il nome host per l’ambiente e il livello a cui accede l’applicazione. Richiama solo le risorse a cui l’account tecnico è autorizzato ad accedere.

Impostare le autorizzazioni appropriate per l’utente dell’account tecnico in AEM set-the-appropriate-permissions-for-the-technical-account-user-in-aem

  1. Apri Adobe Admin Console.
  2. Seleziona AEM as a Cloud Service in Prodotti e servizi.
  3. Crea un profilo di prodotto per l’integrazione oppure seleziona un profilo esistente appropriato.
  4. Selezionare Aggiungi utente e aggiungere l’account tecnico utilizzando email dalle relative credenziali.
  5. Consenti la propagazione delle modifiche al profilo di prodotto. Effettua una chiamata API ad AEM con un token di accesso generato per l’account tecnico. Il profilo di prodotto viene sincronizzato come gruppo AEM, con l’account tecnico come membro.
  6. Nell’istanza di authoring di AEM appropriata, apri Strumenti > Sicurezza > Gruppi. Trova il gruppo di profili di prodotto e verifica che l’account tecnico sia visualizzato in Membri. Puoi anche controllare l’appartenenza al gruppo in Strumenti > Sicurezza > Utenti.
  7. Apri Impostazioni > Sicurezza > Autorizzazioni. Seleziona il gruppo corrispondente al profilo di prodotto e configura le autorizzazioni richieste dalle chiamate API.
  8. Verifica le chiamate API richieste per ogni livello a cui accede l’applicazione. Concedi solo le autorizzazioni necessarie per l’integrazione.
NOTE
Quando sostituisci un account tecnico JWT con un account server-to-server OAuth, assegna il nuovo account ai profili di prodotto richiesti e verificane le autorizzazioni AEM. Le autorizzazioni sul vecchio account tecnico non vengono trasferite automaticamente al nuovo account.

Per ulteriori informazioni su utenti e gruppi IMS e AEM, consulta Supporto IMS.

Flusso per sviluppatori developer-flow

Per i test locali, gli sviluppatori possono generare un token di accesso allo sviluppo direttamente in AEM Developer Console senza creare un account tecnico OAuth Server-to-Server. Il token può essere utilizzato per chiamare gli ambienti AEM a cui lo sviluppatore può accedere. Per le applicazioni lato server automatizzate, utilizza le credenziali da server a server di OAuth anziché un token di sviluppo locale.

Consulta le Linee guida per sviluppatori per informazioni sulle autorizzazioni necessarie per utilizzare AEM Developer Console.

NOTE
Un token di accesso per lo sviluppo locale è valido per un massimo di 24 ore. Dopo la scadenza, genera un altro token utilizzando lo stesso metodo.

Generazione del token di accesso generating-the-access-token

  1. In AEM Developer Console, vai a Integrazioni > Token locale.
  2. Selezionare Ottieni token di sviluppo locale.

Chiamare l’applicazione AEM con un token di accesso call-the-aem-application-with-an-access-token

Utilizzare il token di accesso allo sviluppo locale come token Bearer nell’intestazione Authorization, come descritto in Chiamata dell’API AEM.

Per un progetto AEM in esecuzione sul computer locale, non è necessario un token di accesso IMS.

Ruota segreti client refresh-credentials

Le credenziali da server a server OAuth non richiedono il rinnovo annuale del certificato. Ruota periodicamente i segreti del client e ogni volta che viene esposto un segreto. Crea un nuovo segreto, passa alle applicazioni e solo dopo revoca il vecchio segreto.

La creazione e la revoca dei segreti richiede i valori segreti salvati. AEM Developer Console utilizza un segreto immesso solo per autenticare la richiesta con IMS e non la memorizza.

IMPORTANT
IMS richiede almeno un segreto attivo. Crea e verifica un nuovo segreto prima di revocare l’ultimo segreto attivo. Per interrompere completamente l’utilizzo dell’account tecnico, elimina l’account.
  1. Crea un nuovo segreto. In Integrazioni, apri il menu azioni accanto al nome dell’account server-to-server OAuth e seleziona Crea nuovo segreto. Questo è il menu a livello di account, non il menu a righe del segreto client.

    Menu azioni account server-to-server OAuth con l'opzione Crea nuovo segreto evidenziata

  2. Autentica con un segreto attivo. Nella finestra di dialogo Crea nuovo segreto, immetti il valore di un segreto client attivo per l’account, quindi seleziona Crea nuovo segreto.

    Finestra di dialogo Crea nuovo segreto con il campo segreto client attivo e il pulsante Crea nuovo segreto evidenziato

  3. Salva il nuovo segreto. La finestra di dialogo mostra il nuovo segreto una volta, con i relativi clientId, secretId, clientSecret e scopes. Scaricala o copiala, archiviala in modo sicuro e chiudi la finestra di dialogo. Conferma di volerla chiudere solo dopo aver salvato il segreto in modo sicuro. Una volta chiusa la finestra di dialogo, il nuovo segreto non potrà più essere visualizzato.

    Nuova finestra di dialogo segreta con il valore segreto client nascosto ed evidenziate le credenziali Download e Copy to Appunti

  4. Passa al nuovo segreto. Sostituire il valore technicalAccount.clientSecret nelle credenziali utilizzate da ogni istanza e distribuzione dell’applicazione con il nuovo clientSecret. Gli altri valori delle credenziali non vengono modificati.

    Richiedi un nuovo token di accesso con il nuovo segreto e verifica le chiamate API di AEM richieste prima di procedere. Entrambi i segreti rimangono attivi durante il passaggio dell’applicazione. Il riutilizzo di un token di accesso rilasciato in precedenza non verifica il nuovo segreto.

  5. Selezionare il segreto precedente per la revoca. Dopo che tutte le applicazioni hanno utilizzato il nuovo segreto, aprire il menu a righe del vecchio segreto e selezionare Revoca. Controlla l’ID segreto per assicurarti di aver selezionato il vecchio segreto.

    Menu Azioni del segreto client precedente con Revoca evidenziata mentre entrambi i segreti sono attivi

  6. Conferma revoca. Nella finestra di dialogo Revoca segreto client, controlla l’ID segreto client da revocare, immetti il valore di tale segreto e seleziona Revoca. Se non disponi più del valore segreto, contatta l’assistenza Adobe. Una volta che la revoca si propaga tramite IMS, le applicazioni non possono utilizzare tale segreto per richiedere nuovi token. I token di accesso esistenti potrebbero rimanere validi.

    Finestra di dialogo Revoca segreto client con campo segreto client e pulsante Revoca evidenziato

  7. Verifica il risultato. Il vecchio segreto è elencato come Revocato, mentre il nuovo segreto rimane Attivo.

    Elenco dei segreti client che mostra il vecchio segreto come revocato e il nuovo segreto come attivo, con l'opzione di eliminazione del segreto revocato evidenziata

    Dopo che la revoca è entrata in vigore, verifica che il vecchio segreto non possa emettere nuovi token di accesso e che il nuovo segreto possa. Il solo controllo dello stato visualizzato non verifica la propagazione IMS.

  8. Rimuovere il segreto revocato se non è più necessario. Per rimuovere il segreto revocato dall’elenco, aprire il relativo menu di riga, selezionare Elimina e confermare.

Revoca credenziali credentials-revocation

Revoca disabilita un segreto selezionato per le nuove richieste di token. Richiede il valore del segreto da revocare. La propagazione della revoca può richiedere del tempo. Non presumere che la revoca di un segreto invalidi immediatamente i token di accesso già rilasciati.

Elimina su un segreto revocato rimuove i metadati, quali l’ID segreto e lo stato di revoca, da AEM Developer Console. Non esegue una revoca IMS separata e non è disponibile per i segreti attivi.

Eliminare un account tecnico delete-a-technical-account

L’eliminazione di un account tecnico comporta la revoca immediata dell’account e di tutti i segreti client in IMS. Non vengono rilasciati nuovi token di accesso per alcuna credenziale nell’account e le integrazioni che li utilizzano non funzionano più alla scadenza dei token correnti. Per ripristinare l’accesso, devi creare un nuovo account tecnico, aggiornare le applicazioni con le relative credenziali e assegnare nuovamente le autorizzazioni necessarie in AEM.

L’eliminazione dell’account non può essere annullata. Conferma solo dopo aver verificato quali applicazioni dipendono dall’account e non utilizzarlo come passaggio di rotazione individuale-segreto.

  1. In Integrazioni, apri il menu Azioni accanto al nome dell’account tecnico e seleziona Elimina.

    Menu azioni account server-to-server OAuth con Elimina evidenziato

  2. Rivedi la finestra di dialogo Elimina account tecnico, quindi seleziona Elimina.

    Finestra di conferma eliminazione account tecnico

Migrare un’integrazione basata su JWT migrate-a-jwt-based-integration

  1. Crea un nuovo account tecnico server-to-server OAuth in AEM Developer Console.
  2. Assegna il nuovo account tecnico ai profili di prodotto richiesti e configurane le autorizzazioni AEM.
  3. Aggiornare l’applicazione lato server per richiedere i token utilizzando client_credentials anziché firmare e scambiare un JWT.
  4. Verifica la generazione del nuovo token e le chiamate API richieste utilizzando il nuovo account.
  5. Dopo che tutte le istanze dell’applicazione utilizzano OAuth Server-to-Server, ritira le vecchie credenziali JWT ed elimina il vecchio account tecnico.

Per le operazioni relative ai certificati e alle chiavi private sul vecchio account, consulta la Guida legacy JWT. Non rimuovere il vecchio account prima della verifica dell’integrazione di sostituzione.

recommendation-more-help
experience-manager-cloud-service-help-main-toc