可通过发送 POST 请求从访问服务获取非持久性登录令牌。此非持久性登录令牌可以由所有其他服务用作身份凭证。当超过用户的会话超时属性所设置的超时期限后,该非持久性登录令牌将失效。默认值通常为 15 分钟。DELETE 请求可用于注销非持久性登录令牌并使非持久性登录令牌失效。
此非持久性登录令牌等效于以前的验证会话 ID。RESTful API 版本 2 和 RESTful API 版本 1 中均支持非持久性登录令牌。非持久性登录令牌特定于在其上创建会话 ID 的群集节点,在群集对等设备之间不同步。
用户还可以创建持久性令牌来访问 RESTful API。只有在 RESTful API 版本 2 和更高版本中才支持创建持久性令牌。持久性令牌在群集对等设备之间同步,因此可以在一个群集节点上创建并用于与其他群集节点通信。请参见RESTful API 用户服务。
POST 请求可请求新的非持久性登录令牌。成功后,将返回 HTTP 状态 201 以及具有单个属性 access 的 JSON 对象,此属性包含可用的 RESTful API 服务列表。可选属性 name 可用于设置令牌的名称。
创建请求示例:
POST /api/access/v2 HTTP/1.1 Host: zfs-storage.example.com:215 X-Auth-User: root X-Auth-Key: password-xxx
成功的请求会返回 HTTP 状态 201 (Created),以及通过 X-Auth-Session HTTP 头的非持久性登录令牌。响应正文包含通过此登录可访问的服务的列表。
响应头:
HTTP/1.1 201 Created X-Auth-Session: puPnHZKgSrUmXqYzOwFCrGcLOGwPODj X-Auth-Name: REST-YG02oRod Content-Type: application/json Content-Length: 378 X-Zfssa-Access-Api: 1.0 { "access": { "services":[{ ... }] } }
空 DELETE 发送的请求可用于注销非持久性登录令牌并使非持久性登录令牌失效。
注销请求示例:
DELETE /api/access/v2 HTTP/1.1 X-Auth-Session: puPnHZKgSrUmXqYzOwFCrGcLOGwPODj
结果示例:
HTTP/1.1 204 No Content X-Zfssa-Access-Api: 1.0