Intégration d'un bouton de connexion “Se connecter à Inqom” pour permettre à vos utilisateurs de se connecter à leur compte Inqom via le protocole OAuth2 Authorization Code, sans avoir à saisir leurs identifiants directement dans votre interface.
🔁 Flow fonctionnel
- Clic sur le bouton “Se connecter à Inqom” → Redirection vers l’Identity Provider Inqom (/authorize).
- Connexion de l’utilisateur → L’utilisateur saisit ses identifiants Inqom et s’authentifie.
- Redirection vers votre redirect_uri → Inqom renvoie un code d’autorisation dans la query string.
- Échange du code contre des tokens → Votre serveur appelle /identity/connect/token avec le code reçu.
- Connexion automatique sur Inqom (SSO) → Ouvrez un nouvel onglet vers https://home.inqom.com/home (ou autre url), l’utilisateur est reconnu et connecté sans manipulation supplémentaire.
⚙️ Étapes d’intégration détaillées
1. Rediriger vers l’endpoint d’autorisation
Endpoints :
-
Staging : https://auth-staging.inqom.com/identity/connect/authorize
-
Production : https://auth.inqom.com/identity/connect/authorize
Méthode : GET
Paramètres requis :
|
Paramètre |
Description | Exemple |
|
response_type |
Type de réponse attendu |
code |
|
client_id |
Identifiant client (fourni par Inqom) |
sandboxAuthorizationCode |
|
redirect_uri |
URL de retour vers votre application |
http://localhost:8080 |
|
scope |
Périmètre d’accès |
openid email offline_access apidata accountingdocumentsapi |
|
state |
Valeur aléatoire pour corréler la requête et la réponse |
state245135413 |
Exemple :
https://auth-staging.inqom.com/identity/connect/authorize?
response_type=code&
client_id=SandboxAuthorizationCode&
redirect_uri=http%3A%2F%2Flocalhost%3A8080&
scope=openid%20email%20offline_access%20apidata%20accountingdocumentsapi&
state=state245135413
2. Récupérer le code d’autorisation
Une fois connecté, l’utilisateur est redirigé vers votre redirect_uri :
https://votre-app.fr/callback?code=c1af8458041477eddc801f465c116bae&state=state245135413
Votre application doit extraire la valeur du paramètre code.
3. Échanger le code contre des tokens
Endpoint :
POST https://auth-staging.inqom.com/identity/connect/token
Headers :
Content-Type: application/x-www-form-urlencoded
Body :
grant_type=authorization_code
code=<authorization_code>
redirect_uri=<redirect_uri>
client_id=<client_id>
client_secret=<client_secret>
Exemple concret :
curl -X POST https://auth-staging.inqom.com/identity/connect/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=authorization_code" \
-d "client_id=SandboxAuthorizationCode" \
-d "client_secret=C8hXEbmW23vNpoV7Zi13" \
-d "code=c1af8458041477eddc801f465c116bae" \
-d "redirect_uri=http://localhost:8080"
Réponse :
{
"id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIs...",
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIs...",
"expires_in": 31104000,
"token_type": "Bearer",
"refresh_token": "525f6b5ea84"
}
4. Ouvrir la session Inqom (SSO)
Une fois l’utilisateur authentifié, ouvrez un nouvel onglet vers l'url d'atterrissage Inqom souhaitée (https://home.inqom.com/home par exemple).
Aucune donnée d’authentification n’a besoin d’être transmise, la session SSO créée à l’étape 1 permettra à Inqom de reconnaître l’utilisateur et de le connecter automatiquement.