Passer au contenu principal

Vue d’ensemble

L’API Reelevant utilise OAuth 2.0 pour l’authentification. Quatre types de grant sont pris en charge : Toutes les opérations sur les tokens utilisent l’endpoint POST https://api.reelevant.com/v2/auth/token. Un client_id est requis pour chaque grant. Pour client_credentials, l’en-tête HTTP Basic peut le fournir à la place du corps. Contactez [email protected] pour en obtenir un.

Flux Authorization Code (PKCE)

Il s’agit du flux recommandé pour les applications web. Il utilise une redirection du navigateur pour authentifier l’utilisateur, puis échange un code d’autorisation contre des tokens.

Étape 1 : Générer le challenge PKCE

Générez un code_verifier aléatoire et dérivez-en le code_challenge :

Étape 2 : Rediriger vers Authorize

Redirigez le navigateur de l’utilisateur vers l’endpoint d’autorisation :
L’utilisateur voit une page de connexion. Après une authentification réussie, un écran de consentement s’affiche. Après approbation, le navigateur est redirigé vers votre redirect_uri avec un code d’autorisation :
Les codes d’autorisation sont à usage unique et expirent après 60 secondes. Échangez-les immédiatement.

Étape 3 : Échanger le code contre des tokens

Le code_verifier doit correspondre au code_challenge envoyé à l’étape 2 (le serveur vérifie que SHA256(code_verifier) == code_challenge). Réponse :
Certains clients OAuth sont configurés avec requireAuthorizationCodeFlow: true. Pour ces clients, les paramètres PKCE sont obligatoires — le flux implicite est entièrement désactivé.

Grant Password

Pour les comptes de service et les scripts d’automatisation où la connexion via le navigateur n’est pas envisageable.
Réponse :

Authentification à deux facteurs (OTP)

Si l’utilisateur a activé l’OTP, incluez le champ x-otp-code :

Grant Refresh Token

Échangez un refresh token valide contre un nouveau token d’accès sans vous réauthentifier :
Réponse :

Grant Client Credentials (comptes de service)

Définissez REELEVANT_CLIENT_ID et REELEVANT_CLIENT_SECRET dans l’environnement de l’intégration. Conservez le secret hors du code source. Cet exemple garde le token d’accès en mémoire et en demande un nouveau 60 secondes avant son expiration. Un administrateur crée le compte de service et son secret client ; consultez le guide des comptes de service. Envoyez grant_type=client_credentials, client_id et client_secret au format JSON ou application/x-www-form-urlencoded. Vous pouvez aussi transmettre les identifiants dans un en-tête HTTP Basic :
Chargez ces valeurs depuis un gestionnaire de secrets ou un environnement protégé ; ne saisissez pas le secret dans les commandes ni dans l’historique du shell. Lorsqu’un en-tête HTTP Basic est présent, ses identifiants sont prioritaires sur ceux du corps. Un en-tête Basic mal formé est rejeté ; les identifiants du corps ne sont pas utilisés en remplacement. Réponse :
La réponse ne contient pas de refresh_token. Les tokens d’accès expirent après une heure ; demandez-en un nouveau avec les identifiants client lorsque nécessaire. Les réponses réussies incluent Cache-Control: no-store et Pragma: no-cache. Deux secrets client au maximum peuvent être actifs simultanément, ce qui permet leur rotation. La révocation d’un secret révoque aussi les tokens d’accès émis avec celui-ci. La désactivation du compte de service bloque immédiatement les nouveaux grants et invalide ses tokens d’accès existants.

Utiliser les tokens d’accès

Incluez le token d’accès dans chaque requête à l’API via l’en-tête Authorization :

Cycle de vie des tokens

Les refresh tokens utilisent une expiration glissante : la fenêtre de 30 jours est réinitialisée à chaque utilisation du refresh token. Si vous le rafraîchissez au moins une fois par mois, le token n’expire jamais.

Révoquer des tokens

Révoquez un token d’accès ou un refresh token :
Révoquer un refresh token révoque également tous les tokens d’accès qui en sont dérivés. La révocation d’un secret client révoque aussi les tokens d’accès émis avec celui-ci. La désactivation de son compte de service invalide tous ses tokens d’accès.

Provisionnement SCIM

Le provisionnement entrant utilise des tokens bearer propres à une entreprise, et non des tokens OAuth utilisateur. Voir Provisionnement SCIM 2.0.

Authentification SSO

Les entreprises ayant configuré le SSO sont automatiquement redirigées vers leur fournisseur d’identité pendant le flux d’autorisation OAuth. Si le SSO est obligatoire pour l’entreprise, la connexion par mot de passe est désactivée (sauf pour les comptes de service).

Gestion des erreurs

Un compte de service désactivé renvoie UserDisabled.

Pages associées

Comptes de service

Créez des comptes de service et gérez leurs secrets client.

Authentification et SSO

Découvrez les options d’authentification et les modes d’intégration.