Aller au contenu principal

Types de méthodes d'authentification

Ce guide détaille les types de méthodes d'authentification disponibles.

Quand un flux sollicite une API ou une application tierce avec authentification, vous pouvez utiliser la fonctionnalité de méthode d'authentification :

  • Paramétrez à un seul endroit les accès
  • Améliorez la performance de vos flux : avec une date d'expiration, Ecosystem garde l'accès en mémoire et évite de régénérer un token à chaque exécution
Astuce — Variables de dictionnaire

Pour les URLs, endpoints ou paramètres configurables, privilégiez les variables de dictionnaire : format {{dictionaries.nomDuDico.cleDuDico}}. Les valeurs sont alors dynamisées selon l'environnement. Voir le module Dictionnaires.

Basic Auth

Stocke un nom d'utilisateur et un mot de passe. Ecosystem ajoute automatiquement le header Authorization: Basic xxx.

  • Username : Nom d'utilisateur
  • Password : Mot de passe

OAuth 2

Stocke les informations OAuth 2. Ecosystem gère l'obtention et le rafraîchissement du token.

  • Client ID : ID client OAuth
  • Client Secret : Secret client
  • Token URL : URL pour obtenir le token
  • Scope : Scopes OAuth (optionnel)

Custom

Utilisez un code personnalisé pour gérer un token et une date d'expiration. Cette option est utile lorsque votre serveur d'authentification n'utilise pas un des standards supportés par Ecosystem.

Où ajouter le jeton sur la requête ?

Vous devez choisir où placer le jeton d'authentification sur la requête :

  • Header : nom du header (ex. Authorization) et valeur (ex. Bearer {{accessToken}})
  • Params : nom du paramètre (ex. api_key) et valeur
  • Cookie : nom du cookie et valeur

Selon le choix, renseignez le nom (header, paramètre ou cookie) et la valeur (souvent Bearer {{accessToken}} pour un header).

Format de la réponse

Le code doit renvoyer un objet contenant les champs accessToken et expiresIn :

  • accessToken : le jeton d'authentification qui sera utilisé lors de la requête
  • expiresIn : le temps de validité du jeton en secondes

Exemple de réponse attendue :

{
"accessToken": "__token_value__",
"expiresIn": 300
}

Exemple de code

Ce code peut utiliser toutes les fonctionnalités disponibles dans un nœud Code (dictionnaires, libs.axios, etc.).

// Générer le Basic Auth à partir des dictionnaires
const basicHeader = Buffer.from(`${dictionaries.oauth.clientId}:${dictionaries.oauth.clientSecret}`).toString('base64');

// Appeler l'endpoint token pour obtenir access_token
const { data: response } = await libs.axios.post('https://auth.api.com/oauth/token', {
grant_type: 'client_credentials'
}, {
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
Authorization: `Basic ${basicHeader}`
}
});

// Retourner le token et la date d'expiration
return {
accessToken: response.access_token,
expiresIn: response.expires_in // En secondes
};