如何从node-red中的后端代码安全地存储数据?

问题描述

我的用例是我从OAuth服务器检索OAuth刷新令牌。我想将其存储在节点红色的配置节点的凭据中。但是我找不到该怎么做。

Node-RED credentials documentation page上我发现了一些可以准确描述我的用例的东西:

尽管上面概述的凭证系统在大多数情况下已足够,但是在某些情况下,有必要在凭证中存储比仅由用户提供的值更多的值。 例如,要使节点支持OAuth工作流,它必须保留用户从未看到的服务器分配的令牌。 Twitter节点为如何实现这一目标提供了一个很好的例子。

但是,我分析了source code of the Twitter node,但找不到任何可从后端代码更新令牌的东西。

如何将令牌从后端代码(Node-RED节点的node.js部分)存储到配置节点的凭据字段中?

解决方法

当前没有一种方法可以直接从后端更新存储的凭据。

唯一的选择是通过POST到Admin API使用新的凭证更新流,但是充其量这将导致使用这些凭证的所有节点重新启动,因此所有机上消息可能会丢失。

这是一个已知的极端情况,但是目前我还没有任何计划的解决方案。