L’API REST SmartSense utilise la partie des informations d’identification client de la spécification OAuth2 pour effectuer l’authentification et l’autorisation. Cela nécessite que le client de l’API possède un identifiant client et un « secret » client (qui doit être considéré comme confidentiel). L’ID client et la clé secrète sont en fait un nom d’utilisateur et un mot de passe.
Cependant, au lieu d’un accès limité à un utilisateur spécifique, ces comptes ont généralement un accès complet (en lecture seule) à l’API PartnerData, et ces informations d’identification doivent être sécurisées comme elles le feraient pour tout autre utilisateur ou informations d’identification réseau. L’ID client et le « secret » constituent les informations d’identification du client.
Authentification
SmartSense fournit des identifiants aux clients de l'API. Une fois ces identifiants obtenus, effectuez un appel vers le point de terminaison d'autorisation de SmartSense (https://api.smartsense.co/auth/oauth) pour obtenir un jeton.
Étendue des informations d’identification du client
Les identifiants client sont associés, lors de leur création, à un identifiant de compte SmartSense et à un identifiant utilisateur spécifiques. Actuellement, les identifiants client ont accès à toutes les données mises à la disposition de l'identifiant utilisateur SmartSense correspondant.
Utilisation des informations d’identification du client API pour obtenir un jeton d’accès
Conformément à la spécification OAuth2, le client API peut utiliser des identifiants de client pour obtenir un AccessToken. Cet AccessToken peut ensuite être utilisé pour authentifier les appels API (jusqu'à l'expiration du jeton). Pour obtenir un AccessToken, le client envoie une requête POST à l'adresse /auth/oauth, comme décrit à l'adresse https://tools.ietf.org/html/rfc6749#section-4.4.2.
Pour résumer la section 4.4.2 de la spécification OAuth2 : transmettez « grant_type=client_credentials » dans le corps de la requête (au format « form-urlencoded ») et utilisez l'authentification HTTP Basic pour fournir l'ID client et la clé secrète du client.
Lorsque vous appelez le point de terminaison d’authentification, vous devez fournir les en-têtes suivants :
CLÉ | VALEUR |
Accepter | application/json |
Type de contenu | application/x-www-form-urlencoded |
Contenu-Longueur | calculé lors de l’envoi de la demande |
Hôte | nom de domaine pour lequel la demande est envoyée au serveur |
Autorisation
Pour vous authentifier auprès de l'API SmartSense, vous devez fournir un jeton « Bearer » obtenu via le processus d'authentification. Ce jeton « Bearer » doit figurer dans l'en-tête « Authorization » de toutes les requêtes API et doit se présenter comme suit :
Autorisation : Porteur TOKEN_FROM_SMARTSENSE
Vous devez remplacer TOKEN_FROM_SMARTSENSE par votre jeton API personnel obtenu lors du processus d'autorisation.