Node-RED - 编辑器添加用户认证

Node-RED编辑器和Admin Api支持下面两种身份认证方式

1、基于用户名、密码和身份认证

2、针对任何OAuth/OpenID提供程序(如Twitter或GitHub)的身份验证

※ 说明:

本例中只实现 基于用户名、密码和身份认证 ,如果想了解基于OAuth/OpenID的身份认证请参见【官方文档-Securing Node-RED

二、设置身份认证
1、启用身份认证的配置文件
1)、配置文件位置

配置身份认证的配置文件是 settings.js,位置是在Node-RED的用户目录

序号 系统 位置
1 Windows C:\Users\用户名.node-red\settings.js
2 Linux ~/.node-red/settings.js,或/home/用户名/.node-red/settings.js

※ 说明:

  • 如果您还未运行Node-RED,在Node-RED的用户目录还没有配置文件,您可以手动复制node-red/packages/node_modules/node-red/settings.js 到目标位置。
  • 也可以在在Node-RED启动时,通过命令行参数--settings指定配置文件。

2)、配置文件加载机制

  • 当Node-RED启动时,就会从Node-RED的用户目录查找settings.js,如果没有找到,就把默认配置文件复制到Node-RED的用户目录并使用它。
  • 或者在Node-RED启动时,通过命令行参数--settings指定不同的配置文件。

2、在编辑器或Admin API上启用身份认证
1)、在配置文件启用身份认证

将setting.js文件中下面的代码解注即可

bash 复制代码
/** To password protect the Node-RED editor and admin API, the following
 * property can be used. See http://nodered.org/docs/security.html for details.
 */
adminAuth: {
    type: "credentials",
    users: [{
        username: "admin",
        password: "$2a$08$cbwARregfRdxFgxFdeaTMeHM72JXqCG4N78o61aUQg1NvOec3VrLO",
        permissions: "*"
    }]
},

注意:在Node RED的早期版本中,可以使用设置httpAdminAuth在编辑器上启用HTTP基本身份验证。此选项已弃用,不应使用

※ 说明:

users:是一个用户身份对象数组,可以配置多个身份对象,且每个用户具有不同的权限。

password:密码是使用bcrypt算法安全散列的,上面是根据下面命令对123456加密后的密码。

2)、生成Hash密码

方式一:进入Node-RED安装目录,并通过node -e命令来生成

bash 复制代码
 node -e "console.log(require('bcryptjs').hashSync(process.argv[1], 8));" 您的密码

方式二:如果您是通过安装的方式安装并运行的Node-RED,则可以通过node-red命令来生成

bash 复制代码
node-red admin hash-pw

方式三: 采用第三方加密网站进行在线加密 Bcrypt加密/校验

相关推荐
AI进化营-智能译站10 小时前
Jazzy ROS2入门指南系列05-配置VsCode实现ROS2项目开发
ide·vscode·ai·编辑器
小短腿的代码世界17 小时前
Qt量化策略编辑器深度解析:从DSL解析到可视化编排的完整架构
qt·架构·编辑器
咬人喵喵17 小时前
五一劳动节 SVG 交互图文案例大全
低代码·微信·编辑器·交互·svg
啾啾啾66618 小时前
VScode用cookie登录时,输入cookie值后按回车没反应
ide·vscode·编辑器
Misnice19 小时前
Cursor 常用快捷键总结
编辑器
望眼欲穿的程序猿1 天前
苹果系统使用VsCode开发QT
ide·vscode·编辑器
其实防守也摸鱼2 天前
带你了解与配置phpmyadmin
笔记·安全·网络安全·pdf·编辑器·工具·调试
Rsun045512 天前
Oracle中常用语法
编辑器
非黑皆白2 天前
配置Vscode Claude Code 插件使用deepseek-v4-pro模型
ide·vscode·编辑器
puamac2 天前
UcTabWindow 布局多tab,加载编辑器和资源管理器等自定义控件
c#·编辑器·datagridview