[英]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.