Authentification
L'authentification dans Sinao est possible de deux manière :
- via un token Bearer, obtenu grâce au login et mot de passe d'un compte utilisateur ;
- ou grâce à une clé API.
Login via compte utilisateur
La validité du token Bearer est de 24h.
La première étape consiste à envoyer une requête POST sur l'endpoint /login avec l'email et le mot de passe du compte afin de récupérer ce token de connexion. Il sera possible de rafraichir le token si celui-ci expire via l'endpoint /refresh pendant 14 jours.
Une fois ce token récupéré, il doit être transmis dans le header Authorization: Bearer <token>
dans toutes les requêtes identifiées.
var formdata = new FormData();
formdata.append("email", "[email protected]");
formdata.append("password", "secret");
var requestOptions = {
method: 'POST',
body: formdata,
redirect: 'follow'
};
fetch("https://api.sinao.app/v1/login", rquestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
Clé API
La clé API doit être créée sur l'interface de Sinao depuis l'utilisateur administrateur de l'entreprise. Elle n'a pas de limite de validité. Cette clé API est liée uniquement à une seule application à contrario de la token Bearer qui est lié à un compte utilisateur.
Une fois cette clé récupérée, il suffit de l'ajouter en header pour authentifier la requête : Api-Key: <key>
var requestOptions = {
method: 'GET',
headers: {
'Api-Key': 'xxx' // Remplacez 'xxx' par la valeur réelle de votre clé API
},
redirect: 'follow'
};
fetch("https://api.sinao.app/v1/me", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
Refresh token
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer <token>");
var requestOptions = {
method: 'GET',
headers: myHeaders,
redirect: 'follow'
};
fetch("https://api.sinao.app/v1/refresh", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
Updated 7 months ago