Aller au contenu principal

Types de méthodes d'authentification

Ecosystem propose quatre types de méthodes d'authentification : Basic Auth, OAuth 2, API Key et Custom. Le type détermine les champs de configuration et ce qu'Ecosystem applique automatiquement lors d'une exécution.

Basic Auth​

Stoque un nom d'utilisateur et un mot de passe. Ecosystem ajoute automatiquement l'en-tête Authorization: Basic xxx.

ParamètreTypeObligatoireDéfautDescription
UsernameChaîne✅—Identifiant de connexion requis par le service.
PasswordChaîne (masquée)✅—Mot de passe, ou référence à une variable de dictionnaire.

OAuth 2​

Stoque les informations d'un flux OAuth 2. Ecosystem obtient le token et le rafraîchit automatiquement à expiration.

ParamètreTypeObligatoireDéfautDescription
Client IDChaîne✅—Identifiant client OAuth.
Client SecretChaîne (masquée)✅—Secret OAuth, ou référence à une variable de dictionnaire.
Token URLURL✅—URL utilisée pour obtenir le token.
ScopeListe❌—Scopes OAuth demandés, un par champ.
Envoi du scope

Chaque scope renseigné est transmis lors de la demande de token. Un champ vide est ignoré. Si aucun scope n'est renseigné, le paramètre scope n'est pas inclus dans la requête.

API Key​

Stoque une clé API transmise via des en-têtes HTTP et/ou des paramètres de requête. Ecosystem injecte automatiquement ces valeurs lorsque la méthode est sélectionnée dans un nœud Requête HTTP(S), Agent ou Code.

ParamètreTypeObligatoireDéfautDescription
HeadersPaires clé-valeur❌—En-têtes à injecter (ex. x-api-key → {{dictionaries.secrets.apiKey}}).
Query paramsPaires clé-valeur❌—Paramètres ajoutés à l'URL (ex. api_key → ma_cle).

Dans un nœud Code, accédez aux valeurs via libs.ecosystemCredentials.get('alias').getHeaders() ou .getQueryParams().

Custom​

Exécute un code personnalisé qui gère un token et sa date d'expiration. Utile lorsque le serveur d'authentification n'utilise pas un standard supporté par Ecosystem.

ParamètreTypeObligatoireDéfautDescription
Emplacement du jetonHeader, Params ou Cookie✅—Où le jeton est posé sur la requête.
NomChaîne✅—Nom du header, du paramètre ou du cookie (ex. Authorization).
ValeurChaîne✅—Valeur injectée (ex. Bearer {{accessToken}}).
CodeCode JavaScript✅—Script renvoyant { accessToken, expiresIn }.

Format de sortie du code​

Le code doit renvoyer un objet contenant accessToken et expiresIn :

  • accessToken : le jeton d'authentification utilisé lors de la requête ;
  • expiresIn : la durée de validité du jeton, en secondes.
{
"accessToken": "__token_value__",
"expiresIn": 300
}

Exemple de code​

Le code peut utiliser toutes les fonctionnalités d'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 durée de validité
return {
accessToken: response.access_token,
expiresIn: response.expires_in // En secondes
};