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.
Requisiti di accesso
| 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
-
Aggiungi il modulo HTTP > Crea una richiesta JWT allo scenario.
-
Fai clic su Aggiungi accanto al campo Connessione.
-
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.
HS256HS384HS512RS256RS384RS512PS256PS384PS512ES256ES384ES512
Segreto Immetti la chiave per la firma.
- Per gli algoritmi
HS*, utilizzare la stringa segreta condivisa. - Per gli algoritmi
RS*,PS*eES*, utilizza la chiave privata con codifica PEM.
-
Fai clic su Continua per creare la connessione e tornare al modulo.
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.
Generazione del token
- Il modulo raccoglie le attestazioni nel campo Payload JWT (attestazioni).
- Attestazioni riservate come
exp,iat, enbfvengono convertiti in valori NumericDate. - Il modulo applica le Opzioni firma e firma il token utilizzando l’algoritmo della connessione.
- Il token firmato viene inserito nell’intestazione della richiesta definita da Header Name.
- Se Tipo di token è impostato, il modulo aggiunge il prefisso prima del token. Ad esempio,
Bearer eyJ…. - 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-42iss=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.
jsonwebtoken e rispecchia il comportamento di firma dell’app JWT autonoma, pertanto gli stessi input producono lo stesso token dell’app JWT autonoma.