Skip to content

Sessions

Les sessions vous permettent de vous connecter en tant qu'utilisateur sur votre back office. Sans session valide, un utilisateur ne peut pas accéder au back office.

Composition

Une session se définit par une adresse IP, un appareil et un utilisateur. Ces attributs ne sont accessibles qu'en lecture seule.

Utilisation

Afin d'effectuer des requêtes vers l'API de votre back office, vous pouvez utiliser les clés API ou vous connecter en tant qu'utilisateur. Pour ce faire, vous devez effectuer une requête vers l'API de sessions en indiquant votre e-mail et votre mot de passe.

Voici un exemple de requête CURL vous permettant d'obtenir un jeton de connexion :

shell
curl https://demo.back-office.pro/sessions \
     -X 'POST' \
     -H 'Accept: application/json' \
     -d '{"session":{"email":"[email protected]","password":"******"}}'

Et voici un exemple de charge utile que vous allez obtenir avec cette requête :

JSON
{
  "token_type": "Bearer",
  "expires_in": 600,
  "access_token": "eyJfcmFpbHMiOnsiZGF0YSI6IjQxZmE5NWU5LWFjO*********",
  "refresh_token": "eyJfcmFpbHMiOnsiZGF0YSI6IjQxZmE5NWU5LWFjO*********"
}

Vous pouvez alors, par exemple, réutiliser le jeton access_token pour effecter une nouvelle requête API pour obtenir la liste des utilisateurs. Le jeton doit être placé dans l'en-tête HTTP Authorization avec le préfixe Bearer.

Voici un exemple de requête CURL vous permettant d'obtenir la liste des utilisateurs :

shell
curl https://demo.back-office.pro/utilisateurs \
     -H 'Authorization: Bearer eyJfcmFpbHMiOnsiZGF0YSI6IjQxZmE5NWU5LWFjO*********' \
     -H 'Accept: application/json'

Notez également que vous obtiendrez la liste des utilisateurs uniquement si l'utilisateur associé au jeton a les droits pour le faire. Sinon, vous obtiendrez une erreur 403.

Sécurité

Pour des raisons de sécurité, vous devez rafraîchir votre jeton. Un jeton n'est valide que 10 minutes. Pour ce faire, vous devez effectuer une requête vers l'API de jetons en indiquant le jeton refresh_token obtenu via l'API de sessions.

Voici un exemple de requête CURL vous permettant de rafraîchir un jeton de connexion :

shell
curl https://demo.back-office.pro/jetons \
     -X 'POST' \
     -H 'Authorization: Bearer eyJfcmFpbHMiOnsiZGF0YSI6IjQxZmE5NWU5LWFjO*********' \
     -H 'Accept: application/json' \
     -d '{"refresh_token":"eyJfcmFpbHMiOnsiZGF0YSI6IjQxZmE5NWU5LWFjO*********"}'

Et voici un exemple de charge utile que vous allez obtenir avec cette requête :

JSON
{
  "token_type": "Bearer",
  "expires_in": 600,
  "access_token": "eyJfcmFpbHMiOnsiZGF0YSI6IjQxZmE5NWU5LWFjO*********",
  "refresh_token": "eyJfcmFpbHMiOnsiZGF0YSI6IjQxZmE5NWU5LWFjO*********"
}

Vous pouvez alors réutiliser le nouveau jeton access_token pour les prochaines requêtes API.