Welcome to Firefly
中文
Firefly文档中心
最近更新: 2026-09-09 11:33:53

Redfish API 鉴权方式

Redfish API 支持以下两种鉴权方式:

  • Basic Auth:每次请求都携带用户名和密码,适合快速验证接口。
  • Token:先登录获取会话 Token,后续请求通过 X-Xsrf-Token 请求头鉴权,适合连续调用多个接口。

1 准备连接信息

Redfish API 的基础地址格式如下:

<protocol>://<device-ip>:<port>

默认值如下,如需连接其他设备,再根据实际环境修改:

参数默认值说明
protocolhttps默认使用 HTTPS。
device-ip127.0.0.1BMC 默认示例地址。
port443默认 Redfish 服务端口。

1.1 默认账号密码

默认账号为 admin,默认密码为 admin:

项目默认值
用户名admin
密码admin

首次登录后应立即修改默认密码。生产环境建议使用 HTTPS,避免账号密码在传输过程中泄露。

2 鉴权方式

以下 Tabs 分别展示两种完整的鉴权流程。默认显示 Basic Auth。

Basic Auth 使用 HTTP Authorization 请求头发送用户名和密码。使用 curl --user 时,curl 会自动生成该请求头。

使用默认账号密码查询 Redfish 入口:

Basic Auth
curl --user 'admin:admin' \
  --header 'Accept: application/json' \
  '<protocol>://<device-ip>:<port>/redfish'

查询 Redfish 根资源:

查询根资源
curl --user '<username>:<password>' \
  --header 'Accept: application/json' \
  '<protocol>://<device-ip>:<port>/redfish/v1'

后续资源路径应以接口响应中的 @odata.id 为准,例如:

查询 Systems 资源
curl --user '<username>:<password>' \
  --header 'Accept: application/json' \
  '<protocol>://<device-ip>:<port>/redfish/v1/Systems'

成功查询响应示例:

200 OK
{
  "v1": "/redfish/v1/"
}

同一个请求只选择一种鉴权方式即可,不要同时发送 Basic Auth 和 Token。生产环境建议使用 HTTPS,避免账号密码在传输过程中泄露。测试设备使用自签名证书时,可以临时在 curl 命令中加入 --insecure,生产环境不应长期关闭证书校验。

3 常见问题

返回 401 Unauthorized

  • Basic Auth:确认用户名、密码正确,并检查账号是否具备目标资源权限。
  • Token:确认请求头名称为 X-Xsrf-Token,并检查 Token 是否过期或已经注销。
  • 检查请求使用的协议、地址和端口是否正确。

登录返回 HTTP 200,但登录失败

部分登录失败场景仍可能返回 HTTP 200,需要同时检查响应体中的 code。凭据无效时,code 可能为 422。

本页目录