当前位置: 首页 > article >正文

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

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

1、基于用户名、密码和身份认证
2、针对任何OAuth/OpenID提供程序(如Twitter或GitHub)的身份验证

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

二、设置身份认证
1、启用身份认证的配置文件
1)、配置文件位置
配置身份认证的配置文件是 settings.js,位置是在Node-RED的用户目录

序号系统位置
1WindowsC:\Users\用户名.node-red\settings.js
2Linux~/.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文件中下面的代码解注即可

/** 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命令来生成

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


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

node-red admin hash-pw

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


http://www.kler.cn/a/394142.html

相关文章:

  • 从VLM到VLA概论
  • 【WRF模拟】如何得到更佳的WRF模拟效果?
  • JS 设置按钮的loading效果
  • STM32开发笔记123:使用FlyMcu下载程序
  • Python+Django 技术实现自动化漏洞扫描系统开发
  • 在Python如何用Type创建类
  • 深度学习之其他常见的生成式模型
  • FairyGUI和Unity联动(入门篇)
  • 第四十章 Vue之使用ESLint修正代码规范
  • C/C++语言基础--C++模板与元编程系列六,C++元编程相关库的讲解与使用
  • 七次课掌握 Photoshop:形状和文字
  • HTTP 1.0、HTTP 1.1 和 HTTP 2.0 区别
  • 《物理学报》
  • jmeter常用配置元件介绍总结之线程组
  • MySQL 8.0特性-自增变量的持久化
  • linux系统网络设置之ssh和nfs
  • Ubuntu 22.04.4 LTS + certbot 做自动续签SSL证书(2024-11-14亲测)
  • 【C#设计模式(9)——组合模式(Component Pattern)】
  • STM32设计学生宿舍监测控制系统
  • 基于Affine-Sift算法的图像配准matlab仿真
  • 【卡尔曼滤波】数据融合Fusion的应用 C语言、Python实现(Kalman Filter)
  • Scala 的Set集合
  • 《青牛科技 GC6125:驱动芯片中的璀璨之星,点亮 IPcamera 和云台控制(替代 BU24025/ROHM)》
  • GPT o1 模型使用及API调用
  • 如何绑定洛谷账号
  • 计算机视觉 ---常见图像文件格式及其特点