HTTP > Crea una richiesta JWT modulo

Il modulo HTTP > Effettua una richiesta JWT di Adobe Workfront Fusion invia una richiesta HTTP(S) a un URL e la autorizza con un JSON Web Token (JWT) che il modulo firma per te in ogni chiamata. La risposta viene quindi elaborata nello stesso modo del modulo standard HTTP > Effettua una richiesta.

Questo modulo si comporta come il modulo standard Crea una richiesta, con una differenza principale: firma automaticamente un JWT dalle attestazioni fornite e lo aggiunge alla richiesta, per impostazione predefinita come Authorization: Bearer <token>.

Utilizza questo modulo per richiamare qualsiasi API che preveda un JWT firmato per l’autenticazione, ad esempio i servizi che richiedono un token Bearer di breve durata firmato con un segreto condiviso (HMAC) o una chiave privata (RSA/ECDSA), senza creare il token in un passaggio separato.

Se l’API utilizza OAuth 2.0, l’autenticazione di base, una chiave API o un certificato client, utilizza invece il modulo HTTP dedicato corrispondente.

NOTE
Se ti connetti a un prodotto Adobe che al momento non dispone di un connettore dedicato, ti consigliamo di utilizzare il modulo Adobe Authenticator.
Per ulteriori informazioni, vedere Modulo Adobe Authenticator.

Requisiti di accesso

Espandi per visualizzare i requisiti di accesso per la funzionalità descritta in questo articolo.
table 0-row-2 1-row-2 2-row-2 3-row-2 layout-auto html-authored no-header
Pacchetto Adobe Workfront

Qualsiasi pacchetto Workflow di Adobe Workfront, e qualsiasi pacchetto Automation and Integration di Adobe Workfront.

Workfront Ultimate

Pacchetti Workfront Prime e Select, con un ulteriore acquisto di Workfront Fusion.

Licenze Adobe Workfront

Standard

Work o successiva

Licenza di Adobe Workfront Fusion

Basato su operazioni: disponibile per le organizzazioni con licenze basate su operazioni

Basata su connettore (precedente): Workfront Fusion for Work Automation and Integration

Prodotto Se la tua organizzazione dispone di un pacchetto Workfront Select o Prime che non include Workfront Automation and Integration, dovrà acquistare Adobe Workfront Fusion.

Per ulteriori dettagli sulle informazioni contenute in questa tabella, consulta Requisiti di accesso nella documentazione.

Per informazioni sulle licenze di Adobe Workfront Fusion, consulta Licenze di Adobe Workfront Fusion.

Creare una connessione JWT

Il modulo richiede una connessione JWT. La connessione memorizza il materiale per la firma in modo che il segreto o la chiave privata non debbano essere visualizzati nello scenario.

Creare una connessione JWT in Fusion

  1. Aggiungi il modulo HTTP > Crea una richiesta JWT allo scenario.

  2. Fai clic su Aggiungi accanto al campo Connessione.

  3. Configura i campi di connessione:

    table 0-row-2 1-row-2 2-row-2 layout-auto html-authored no-header
    Nome connessione Specifica un nome per la connessione.
    Algoritmo

    Seleziona l’algoritmo di firma per la connessione.

    • HS256
    • HS384
    • HS512
    • RS256
    • RS384
    • RS512
    • PS256
    • PS384
    • PS512
    • ES256
    • ES384
    • ES512
    Segreto

    Immetti la chiave per la firma.

    • Per gli algoritmi HS*, utilizzare la stringa segreta condivisa.
    • Per gli algoritmi RS*, PS* e ES*, utilizza la chiave privata con codifica PEM.
  4. Fai clic su Continua per creare la connessione e tornare al modulo.

IMPORTANT
Una connessione JWT firma con un solo algoritmo. Se lo scenario richiede più di un algoritmo di firma, crea una connessione separata per ciascun algoritmo. Corrisponde al comportamento dell’app JWT autonoma esistente.

HTTP > Crea una richiesta JWT modulo e relativi campi

Quando configuri il modulo HTTP > Crea una richiesta JWT, Adobe Workfront Fusion visualizza i campi elencati di seguito nello stesso ordine in cui compaiono nell’interfaccia utente del modulo. Un titolo in grassetto in un modulo indica un campo obbligatorio. I campi contrassegnati come avanzati sono nascosti a meno che non si selezioni Mostra impostazioni avanzate.

Connessione
Seleziona una connessione JWT esistente o creane una nuova.
URL
URL di destinazione della richiesta.
Metodo
Metodo HTTP come GET, POST, PUT, PATCH o DELETE.
Intestazioni
Intestazioni di richiesta personalizzate in formato chiave/valore.
Stringa di query
Parametri stringa di query in formato chiave/valore.
Tipo di corpo
Codifica del corpo della richiesta. Le opzioni disponibili sono Raw, application/x-www-form-urlencoded e multipart/form-data.
Analizza risposta
Quando è abilitato, Fusion analizza il corpo della risposta in base al tipo di contenuto della risposta.
Payload JWT di (Attestazioni)
Coppie chiave/valore incluse come attestazioni nel payload JWT. Le attestazioni riservate exp, iat e nbf devono essere NumericDate, ovvero un numero di secondi dall'epoca Unix. I valori delle attestazioni mantengono il loro tipo JSON, pertanto i numeri rimangono numeri e i booleani rimangono booleani.
Timeout (avanzato)
Specifica il timeout della richiesta in secondi (1-300). Il valore predefinito è 40 secondi.
Conteggio tentativi (avanzato)
Specifica quante volte la richiesta deve ritentare se non riesce a causa di un errore ripetibile.
Codici di stato dei tentativi aggiuntivi (avanzato)
Specificare codici di stato HTTP aggiuntivi da considerare come ripetibili.
Condividere cookie con altri moduli HTTP (modalità avanzata)
Abilita questa opzione per condividere i cookie dal server con tutti i moduli HTTP nel tuo scenario.
Self-signed certificate (avanzato)
Carica il certificato se desideri utilizzare TLS con il certificato autofirmato.
Rifiuta connessioni che utilizzano certificati non verificati (autofirmati) (avanzate)
Abilita questa opzione per rifiutare le connessioni che utilizzano certificati TLS non verificati.
Follow redirect (avanzato)
Abilita questa opzione per seguire i reindirizzamenti URL con risposte 3xx.
Disattiva la serializzazione di più chiavi di stringa di query come matrici (modalità avanzata)
Per impostazione predefinita, Workfront Fusion gestisce più valori per la stessa chiave di parametro della stringa di query URL come array. Ad esempio, www.test.com?foo=bar&foo=baz verrà convertito in www.test.com?foo[0]=bar&foo[1]=baz. Attiva questa opzione per disabilitare questa funzione.
Richiedi contenuto compresso (avanzato)
Abilita questa opzione per richiedere una versione compressa del sito web. Aggiunge un'intestazione Accept-Encoding per richiedere contenuto compresso.
Use Mutual TLS (avanzato)
Abilita questa opzione per utilizzare Mutual TLS nella richiesta HTTP.
Sign Options (avanzate)

Per ogni opzione di firma che si desidera aggiungere alla richiesta, fare clic su Aggiungi elemento e immettere il nome e il valore del parametro.

Opzioni aggiuntive passate al firmatario JWT, ad esempio expiresIn, issuer, audience, subject e keyid. I valori di durata come expiresIn vengono interpretati dalla libreria jsonwebtoken. Un numero normale viene considerato come millisecondi, pertanto utilizza una stringa di unità come "1h" o "3600s" per essere esplicito. L’algoritmo proviene dalla connessione e non può essere sovrascritto qui.

Header Name (avanzate)
Inserisci o mappa il nome dell’intestazione della richiesta che riceve il JWT firmato. Impostazione predefinita: Authorization. Il nome dell'intestazione non deve contenere un punto (.), perché i nomi punteggiati sono rifiutati e non possono essere mascherati nei log delle richieste.
Token Type (avanzato)
Immettere o mappare lo schema di autenticazione inserito prima del token, ad esempio Bearer. Lascia vuoto questo campo per inviare il token non elaborato senza prefisso.

Generazione del token

  1. Il modulo raccoglie le attestazioni nel campo Payload JWT (attestazioni).
  2. Attestazioni riservate come exp, iat, e nbf vengono convertiti in valori NumericDate.
  3. Il modulo applica le Opzioni firma e firma il token utilizzando l’algoritmo della connessione.
  4. Il token firmato viene inserito nell’intestazione della richiesta definita da Header Name.
  5. Se Tipo di token è impostato, il modulo aggiunge il prefisso prima del token. Ad esempio, Bearer eyJ….
  6. La richiesta viene inviata e la risposta viene elaborata allo stesso modo del modulo standard HTTP > Crea una richiesta.

Il token firmato viene automaticamente mascherato nei registri di debug e di errore e non viene mai esposto.

Esempio

Connessione

  • Algoritmo: HS256
  • Segreto: my-shared-secret

Impostazioni modulo

  • URL: https://api.example.com/v1/orders

  • Metodo: GET

  • Payload JWT (attestazioni):

    • sub = service-account-42
    • iss = make-integration
  • Opzioni di firma:

    • expiresIn = 1h
  • Nome intestazione: Authorization

  • Tipo di token: Bearer

Risultato

Il modulo invia la richiesta con un’intestazione simile a:

Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Domande frequenti/gotchas

Perché il mio token è scaduto così rapidamente?

È probabile che tu abbia immesso un numero non specificato per expiresIn, ad esempio 3600. La libreria jsonwebtoken interpreta i numeri semplici come millisecondi. Utilizzare invece una stringa di unità come "1h" o "3600s".

Quando viene creato il token?

Il modulo firma un nuovo JWT ogni volta che viene eseguito, non quando crei la connessione. La connessione archivia solo il materiale di firma e l’algoritmo, pertanto le attestazioni come iat e exp riflettono il momento dell’esecuzione del modulo.

Se la richiesta riprova all’interno della stessa esecuzione del modulo, Fusion riutilizza lo stesso token firmato per tali tentativi invece di firmare un nuovo token per ogni tentativo. Per questo motivo, un valore expiresIn molto breve può scadere prima che si verifichi un nuovo tentativo e causare un nuovo tentativo di inviare un token già scaduto. Per evitare questo problema, utilizzare una stringa di unità non crittografata come "1h" o "3600s" ed evitare durate dei token eccessivamente brevi.

Posso cambiare l’algoritmo per richiesta?

No. L’algoritmo è corretto dalla connessione. Se hai bisogno di un algoritmo diverso, crea una connessione JWT diversa.

Posso inviare il token in un’intestazione personalizzata?

Sì. Impostare il campo Nome intestazione su un nome personalizzato, ma non può contenere un punto (.).

Posso inviare il token non elaborato senza Bearer?

Sì. Lascia vuoto Tipo di token.

Il token è visibile nei registri?

No. Il token firmato viene mascherato automaticamente nei registri di debug e di errore.

NOTE
Nota tecnica: la firma utilizza la libreria jsonwebtoken e rispecchia il comportamento di firma dell’app JWT autonoma, pertanto gli stessi input producono lo stesso token dell’app JWT autonoma.
recommendation-more-help
workfront-fusion-help-workfront-fusion