Node-RED API 安全认证

Node-RED API 安全认证缩略图

认证

Node-RED API 安全认证概述

Node-RED的管理API是通过您的settings.js文件中的adminAuth属性进行安全验证的。安全性部分描述了该属性应如何配置。

如果该属性未设置,任何有网络访问权限的人都可以访问Node-RED的管理API。

步骤 0 - 检查认证方案
/auth/login进行HTTP GET请求将返回当前的认证方案。

curl 示例:

curl http://localhost:1880/auth/login

在API的当前版本中,有两种可能的结果:

  • 无活跃认证
{}

所有API请求都可以在不提供任何进一步认证信息的情况下进行。

步骤1-获取访问令牌对/aut

  • 基于凭证的认证
{
  "type": "credentials",
  "prompts": [
    {
      "id": "username",
      "type": "text",
      "label": "用户名"
    },
    {
      "id": "password",
      "type": "password",
      "label": "密码"
    }
  ]
}

API由访问令牌保护。

步骤 1 - 获取访问令牌
/auth/token进行HTTP POST请求,用于将用户凭证换取访问令牌。

必须提供以下参数:

  • client_id - 标识客户端。目前,必须是node-red-adminnode-red-editor
  • grant_type - 必须是password。
  • scope - 请求的权限的空格分隔列表。目前,必须是*read
  • username - 用于认证的用户名。
  • password - 用于认证的密码。

curl 示例:

curl http://localhost:1880/auth/token --data 'client_id=node-red-admin&grant_type=password&scope=*&username=admin&password=password'

如果成功,响应将包含访问令牌:

{"access_token"

{
  "access_token": "A_SECRET_TOKEN",
  "expires_in": 604800,
  "token_type": "Bearer"
}

步骤 2 - 使用访问令牌
所有后续的API调用都应在头部提供此令牌Authorization

curl 示例:

curl -H "Authorization: Bearer A_SECRET_TOKEN" http://localhost:1880/settings

撤销令牌
当不再需要令牌时,为了撤销它,应该在一个HTTP POST中发送到/auth/revoke

curl 示例:

curl --data 'token=A_SECRET_TOKEN' -H "Authorization: Bearer A_SECRET_TOKEN" http://localhost:1880/auth/revoke
来源/工具信息 —— 点击展开
来源 MQTT中文网(mqtt.cn) —— 国内领先的MQTT通信协议技术社区 分类 Node-RED 接口参考 字数 1132 字 · 阅读约 3 分钟 更新 2023-09-26 永久链接 https://www.mqtt.cn/708.html
推荐工具:MQTT调试助手 微信小程序
MQTT中文网官方推出的MQTT调试工具,支持 MQTT 3.1.1/5.0 实时连接调试、主题订阅、消息收发监控与报文分析。 无需安装,微信搜索「MQTT调试助手」即可使用。 电脑端入口:https://www.mqtt.cn/mqtttool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 mqtt.cn
相关标签
📝 作者声明
本文由 MQTT中文网技术团队 原创撰写,内容基于实际项目案例与技术文档,力求为读者提供准确、实用的参考信息。
把这篇资料用于真实项目?

进入工具中心进行报文解析、CRC 校验和设备调试,或提交需求获取选型与接入建议。

工程师会员

把这篇文章变成可执行的调试资料

开通后可使用高级报文解析、资料包下载、代码示例、工程案例和优先技术支持,适合真实项目交付。

高级工具不限次
资料包与代码包
完整工程案例库
优先技术支持入口