Pour obtenir un ID de session d'authentification à partir du service d'accès, envoyez une demande POST. Tous les autres services peuvent utiliser cet ID de session d'authentification en tant qu'information d'identification. L'ID d'authentification est invalidé après un délai d'expiration défini à l'aide de la propriété d'expiration de session de l'utilisateur. La valeur par défaut est généralement de 15 minutes. La demande DELETE permet de se déconnecter et d'invalider l'ID de session.
Aucune session d'authentification n'est requise car les clients peuvent renvoyer des informations d'authentification à chaque demande. Etant donné que les opérations de l'API RESTful sont sans état, seul l'ID d'authentification est stocké.
Une demande POST vide invoque une nouvelle session de connexion. En cas de réussite, un statut HTTP de 201 est renvoyé avec un objet JSON possédant un accès de propriété unique et contenant une liste des services de l'API RESTful disponibles.
Exemple de demande de connexion :
POST /api/access/v1 HTTP/1.1 Host: zfs-storage.example.com X-Auth-User: root X-Auth-Key: letmein-xxx
En cas de réussite de la connexion, le code de statut HTTP 201 (Created) est renvoyé avec un ID de session via l'en-tête HTTP X-Auth-Session. Le corps du texte de la réponse contient une liste des services accessibles via cette connexion.
En-tête de réponse :
HTTP/1.1 201 Created X-Auth-Session: guigqpQRE4g89ngb Content-Type: application/json Content-Length: 378 X-Zfssa-Access-Api: 1.0 { "access": { "services":[{ ... }] } }
Une commande DELETE vide envoie une demande de déconnexion et d'invalidation de la session.
Exemple de demande de déconnexion :
DELETE /api/access/v1 HTTP/1.1 X-Auth-Session: guigqpQRE4g89ngb
Exemple de réponse :
HTTP/1.1 204 No Content X-Zfssa-Access-Api: 1.0