Node-RED 管理 API 通过 settings.js
文件中的 adminAuth
属性进行保护。安全部分描述了该属性的配置方式。
如果未设置该属性,则任何具有 Node-RED 网络访问权限的人都可以访问 Node-RED 管理 API。
对 /auth/login
发送 HTTP GET 请求会返回当前的认证方案。
curl https://: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
- 必须是 password
scope
- 请求的权限列表,以空格分隔。目前,必须是 *
或 read
。username
- 要认证的用户名password
- 要认证的密码curl https://: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" https://:1880/settings
当不再需要令牌时,应将其通过 HTTP POST 发送到 /auth/revoke
以撤销。
curl --data 'token=A_SECRET_TOKEN' -H "Authorization: Bearer A_SECRET_TOKEN" https://:1880/auth/revoke
版权所有 OpenJS Foundation 和 Node-RED 贡献者。保留所有权利。OpenJS Foundation 已注册商标并使用商标。有关 OpenJS Foundation 商标的列表,请参阅我们的商标政策和商标列表。未在OpenJS Foundation 商标列表中指明的商标和徽标是其各自持有人的商标™ 或注册®商标。使用它们并不意味着与它们有任何关联或得到它们的认可。
OpenJS Foundation | 使用条款 | 隐私政策 | OpenJS Foundation 章程 | 商标政策 | 商标列表 | Cookie 政策