Récupérer un token d'authentification API
Cet article présente les différents modes d’authentification API disponibles dans Inqom.
L'API Inqom prend en charge deux modes d'authentification OAuth2, adaptés à des contextes d'intégration différents :
Authentification Resource Owner
Le mode d'authentification Resource Owner est réservé aux DSI de cabinets et aux PME.
Il repose sur le flux OAuth2 Resource Owner Password Credentials (grant_type=password), dans lequel l'application transmet directement les identifiants Inqom de l'utilisateur (nom d'utilisateur et mot de passe) afin d'obtenir un jeton d'accès.
Prérequis
L'utilisation de ce flux nécessite :
- Un compte Inqom dédié (généralement un compte système non nominatif) disposant des droits requis sur les cabinets concernés.
- La connaissance des clés API associées à l'application :
client_idclient_secret
Remarque :
Le jeton d'accès obtenu porte les droits du compte Inqom utilisé pour l'authentification. Toutes les requêtes effectuées avec ce jeton sont donc soumises aux mêmes autorisations que celles de cet utilisateur.
Endpoints d'authentification :
| Environnement | Endpoint |
|---|---|
| Production | https://auth.inqom.com/identity/connect/token |
| Staging | https://auth-staging.inqom.com/identity/connect/token |
Exemple de requête :
POST https://auth.inqom.com/identity/connect/token
Content-Type: application/x-www-form-urlencoded
grant_type=password
&username=mon_utilisateur@cabinet.fr
&password=xxxxxxxxxxxxxxxx
&client_id=mon_client_id
&client_secret=mon_client_secret
&scope=openid%20apidata
|
Paramètre |
Description |
grant_type |
Doit être égal à password. |
username |
Nom d'utilisateur du compte Inqom. |
password |
Mot de passe associé au compte Inqom. |
client_id |
Identifiant de l'application cliente. |
client_secret |
Secret associé à l'application cliente. |
scope |
Scopes demandés (cf. article) |
Exemples de réponses :
scope=openid apidata{
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1Ni...",
"expires_in": 31104000,
"token_type": "Bearer"
}-
scope=openid apidata offline_access{
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1Ni...",
"expires_in": 31104000,
"token_type": "Bearer",
"refresh_token": "5fa4c22601386f6fe5f02a4..."
}
Vous retrouverez le détail de l'utilisation du refresh token dans cet article.