Node-RED的管理API通过settings.js文件中的adminAuth属性进行安全保护。security部分描述了如何配置该属性。
如果未设置该属性,任何能够通过网络访问Node-RED的人都可以访问Node-RED管理API。
向/auth/login发送HTTP GET请求将返回当前有效的认证方案。
curl http://localhost:1880/auth/login
在当前API版本中,有两种可能的结果:
{}
所有API请求都可在不提供额外认证信息的情况下发起。
{
"type": "credentials",
"prompts": [
{
"id": "username",
"type": "text",
"label": "Username"
},
{
"id": "password",
"type": "password",
"label": "Password"
}
]
}该API通过访问令牌进行安全保护。
向/auth/token发送HTTP POST请求,用于将用户凭证交换为访问令牌。
必须提供以下参数:
client_id - 标识客户端。当前必须为node-red-admin或node-red-editor。grant_type - 必须为 passwordscope - 请求的权限列表,以空格分隔。当前必须为*或read。username - 用于身份验证的用户名password - 用于身份验证的密码curl http://localhost:1880/auth/token --data 'client_id=node-red-admin&grant_type=password&scope=*&username=admin&password=password'
如果成功,响应将包含访问令牌:
{
"access_token": "A_SECRET_TOKEN",
"expires_in":604800,
"token_type": "Bearer"
}所有后续的API调用都应在Authorization头部中提供此令牌。
curl -H "Authorization: Bearer A_SECRET_TOKEN" http://localhost:1880/settings
当不再需要该令牌时,应通过HTTP POST请求发送至/auth/revoke来撤销:
curl --data 'token=A_SECRET_TOKEN' -H "Authorization: Bearer A_SECRET_TOKEN" http://localhost:1880/auth/revoke
Node-RED: 面向事件驱动应用的低代码编程平台。
版权所有 OpenJS基金会 及 Node-RED 贡献者。保留所有权利。OpenJS基金会 拥有注册商标并使用商标。有关 OpenJS基金会 的商标列表,请参阅我们的 商标政策 和 商标列表。未在 OpenJS基金会商标列表 中标注的商标™或注册®商标归其各自持有人所有。使用这些商标并不意味着与它们有任何关联或获得其认可。
The OpenJS Foundation | 使用条款 | 隐私政策 | OpenJS基金会章程 | 商标政策 | 商标列表 | Cookie政策