API

POST /user/session

Initialiser une session en authentifiant un utilisateur.
L'en-tête de réponse retourne un cookie approprié pour maintenir la session.
Si une collectivité peut être automatiquement assigné à cet utilisateur, celle-ci est retournée dans la réponse.
Un code 401 est retourné si les identifiants ne permettent pas d'identifier l'utilisateur.

URL

https://api.mon-territoire.fr/user/session

Informations

Implementation 0.3.x
Utilisateur requis Non
Collectivité requise Non
Code HTTP attendu 201 ou 401

Paramètres

user[username] String requis l'identifiant de l'utilisateur
user[password] String requis le mot de passe de l'utilisateur

Réponse

user Object Voir Utilisateur
collectivity Object Voir Collectivité

Exemple

$ http -jv POST https://api.mon-territoire.fr/user/session user:='{"username":"spike","password":"MonkeyBusiness"}'
POST /user/session HTTP/1.1
Accept: application/json
Content-Type: application/json; charset=utf-8

{
    "user": {
        "username": "spike",
        "password": "MonkeyBusiness"
    }
}

HTTP/1.1 201 Created
Content-Type: application/json; charset=utf-8
Set-Cookie: _ateliers_session=RTNmenFVMTlXTWRn; path=/; HttpOnly

{
    "user": {
        "username": "spike",
        "name":     "Spike Spiegel",
        "email":    "spike@big.shot.org"
    },
    "collectivity": {

    }
}

Exemple avec des identifiants incorrects

$ http -jv POST https://api.mon-territoire.fr/user/session user:='{"username":"spike","password":"monkey"}'
POST /user/session HTTP/1.1
Accept: application/json
Content-Type: application/json; charset=utf-8

{
    "user": {
        "username": "spike",
        "password": "monkey"
    }
}

HTTP/1.1 401 Unauthorized
Content-Type: application/json; charset=utf-8

Exemple avec une collectivité auto-assignée

$ http -jv POST https://api.mon-territoire.fr/user/session user:='{"username":"spike","password":"monkey"}'
POST /v0/session HTTP/1.1
Accept: application/json
Content-Type: application/json; charset=utf-8

{
    "user": {
        "username": "spike",
        "password": "MonkeyBusiness"
    }
}

HTTP/1.1 201 Created
Content-Type: application/json; charset=utf-8
Set-Cookie: _ateliers_session=RTNmenFVMTlXTWRn; path=/; HttpOnly

{
    "user": {
        "username": "spike",
        "name":     "Spike Spiegel",
        "email":    "spike@big.shot.org"
    },
    "collectivity": {
        "id":       "34172",
        "name":     "Montpellier"
    }
}