[英]How do I find an element of an array in NiFi ExecuteScript (ECMAScript)?
[英]How to write java script in nifi to decrypt jwt token using Apache NiFi. How to use ExecuteScript processor
我是 NiFi 和 JavaScript 的新手。 我正在嘗試使用執行命令處理器解密 jwt 令牌。 但未能如願。 我附上了我的代碼。 你能幫助我嗎? 我們在這里使用的庫是 node-jose:
flowFile = session.get();
if (flowFile != null)
{
var jweToken = flowFile.getAttribute('token')
var contentAlg = 'A256CBC-HS512';
const privKeyJwks = {"p:aaaaaabbbccccc,q:cddbcbvbvbmm"};
async function decryptJWE(jweToken) {
try {
// Decrypt JWE w/ private key
const privKey = await JWK.asKey(privKeyJwks);
return (await JWE.createDecrypt(privKey).decrypt(jweToken)).plaintext.toString();
flowFile = session.putAttribute(flowFile, 'token', 'jweToken')
} catch (e) {
console.error(e);
}
}
}
我得到的錯誤:
請幫我。 謝謝你。
據我所知,Apache NiFi 使用Nashorn作為其 JavaScript(准確地說是 ECMAScript)實現。 根據文檔,Nashorn 僅支持 ECMAScript 5.1; 但是,您正在使用異步函數,這些函數僅在 ECMAScript 2017 及更高版本中受支持。
唯一的辦法是在不使用異步函數的情況下重寫你的腳本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.