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加密/校验

相关推荐
小e说说7 小时前
主流活动策划工具特点比较
编辑器
winlife_9 小时前
把 Godot 编辑器接入 AI:Funplay MCP for Godot 介绍
人工智能·编辑器·godot·ai编程·游戏开发·mcp
@noNo13 小时前
Visual Studio Code添加自定义大模型API
ide·vscode·编辑器
winlife_13 小时前
把 Cocos Creator 编辑器接入 AI:Funplay MCP for Cocos 介绍
人工智能·编辑器·ai编程·cocos creator·游戏开发·claude·mcp
拉里呱唧14 小时前
在线可视化HTML编辑器横评:8款拖拽式工具的实测对比
前端·编辑器·html
HezhezhiyuLe14 小时前
无界内嵌编辑器键盘事件失效
编辑器·计算机外设
winlife_15 小时前
嵌入式 MCP server vs 外挂桥接进程:引擎编辑器自动化的架构取舍
架构·自动化·编辑器·游戏引擎·架构设计·mcp·编辑器自动化
时空自由民.1 天前
vim入门配置教程
编辑器·vim·excel
梦想家加一1 天前
vscode为什么下载了汉化插件却不生效
ide·vscode·编辑器
神码编程2 天前
【Unity】MiniGame编辑器小游戏(十五)中国象棋局域网对战【Chinese Chess】(上)
unity·编辑器·游戏引擎·小游戏