2.2. HTTP 身份验证
具有 Red Hat Virtualization 帐户的任何用户可以访问 REST API。API 用户通过对 API 的所有请求提交强制的 Red Hat Virtualization Manager 用户名和密码。每个请求都使用 HTTP 基本身份验证 [2] 对这些凭证进行编码。如果请求不包含适当的
Authorization
标头,API 会发送 所需的 401 Authorization
。
例 2.1. 在没有适当的凭证的情况下访问 REST API
HEAD [base] HTTP/1.1 Host: [host] HTTP/1.1 401 Authorization Required
请求通过指定域的
Authorization
标头发出。API 用户使用 username@domain:password
约定对提供的凭证中的相应 Red Hat Virtualization Manager 域和用户进行编码。
下表显示了 base64 中编码凭据的流程。
项 | 值 |
---|---|
用户名 | rhevmadmin |
domain | domain.example.com |
密码 | 123456 |
取消编码的凭证 | rhevmadmin@domain.example.com:123456 |
base64 编码凭证 | cmhldm1hZG1pbkBibGFjay5xdW1yYW5ldC5jb206MTIzNDU2 |
API 用户提供 base64 编码凭证,如下所示:
例 2.2. 使用适当的凭证访问 REST API
HEAD [base] HTTP/1.1 Host: [host] Authorization: Basic cmhldm1hZG1pbkBibGFjay5xdW1yYW5ldC5jb206MTIzNDU2 HTTP/1.1 200 OK ...
重要
基本身份验证涉及潜在的敏感信息,如密码,以纯文本形式发送。REST API 需要 Hypertext 传输协议安全(HTTPS)进行纯文本请求的传输级别加密。
重要
有些 base64 库将结果分解成多行,并使用换行符终止每行。这会破坏标头,并导致有故障的请求。Authorization 标头需要在标头中的一行中编码的凭据。