認証セッション ID は、POST リクエストを送信することでアクセスサービスから取得します。この認証セッション ID は、その他すべてのサービスで同一の資格証明として使用できます。認証 ID は、ユーザーのセッションタイムアウトプロパティーによって設定されるタイムアウト期間後に無効化されます。通常、デフォルトは、15 分です。DELETE リクエストは、ログアウトしてセッション ID を無効化するために使用できます。
クライアントはリクエストごとに認証情報を再送信できるため、認証セッションは必要ありません。RESTful API 操作はステートレスであるため、認証 ID のみが格納されます。
空の POST リクエストは、新しいログインセッションをリクエストします。成功すると、使用可能な RESTful API サービスのリストが格納された単一プロパティー「access」を持つ JSON オブジェクトとともに、HTTP ステータス 201 が返されます。
ログインリクエストの例:
POST /api/access/v1 HTTP/1.1 Host: zfs-storage.example.com X-Auth-User: root X-Auth-Key: letmein-xxx
ログインに成功すると、HTTP ステータス 201 (Created) と、X-Auth-Session HTTP ヘッダーを介してセッション ID を返します。レスポンス本文には、このログインを介してアクセス可能なサービスのリストが含まれます。
レスポンスヘッダー:
HTTP/1.1 201 Created X-Auth-Session: guigqpQRE4g89ngb Content-Type: application/json Content-Length: 378 X-Zfssa-Access-Api: 1.0 { "access": { "services":[{ ... }] } }
空の DELETE は、ログアウトしてセッションを無効化するためのリクエストを送信します。
ログアウトリクエストの例:
DELETE /api/access/v1 HTTP/1.1 X-Auth-Session: guigqpQRE4g89ngb
レスポンスの例:
HTTP/1.1 204 No Content X-Zfssa-Access-Api: 1.0