Intégration Salesforce / GUIDE TECHNIQUE

Créer vos identifiants API Salesforce : External Client App et OAuth 2

Salesforce n'expose pas de simple token API : toute connexion externe passe par une External Client App et le flux OAuth 2.0 JWT Bearer pour intégration de serveur à serveur. Ce guide vous accompagne pas à pas, de la création de l'application à la transmission sécurisée des credentials à votre équipe de développement.

LES ÉTAPES

3 étapes pour créer et sécuriser vos identifiants API Salesforce

Avant de connecter Salesforce à votre logiciel sur mesure, il faut générer les bons identifiants avec les bonnes permissions. Voici les étapes à suivre.

1

Choisir l'environnement : sandbox ou production

Avant toute chose, le connecteur est développé et validé sur un environnement sandbox isolé de votre production. Vous aurez besoin de credentials distincts pour les deux environnements.

2

Créer une External Client App dans Salesforce Setup

L'External Client App (application cliente externe) est l'application enregistrée dans Salesforce qui représente le connecteur mise à disposition pour effectuer les échanges API Rest. Elle définit les scopes autorisés et les profils utilisateurs qui peuvent l'utiliser.

3

Récupérer le Consumer Key et nous le transmettre

Une fois l'External Client App créée et validée, Salesforce génère un Consumer Key. Ce dernier en combinaison avec le certificat de signature de l'application nous permet de générer l'access token du JWT Bearer requis pour l'authentification des API REST.

Étape 1 : Choisir l’environnement

Avant de créer quoi que ce soit, il faut distinguer les deux environnements que vous utiliserez :

  • Sandbox : copie isolée de votre organisation Salesforce, accessible via test.salesforce.com. C’est là que le connecteur est développé et validé, sans risque de toucher à vos données de production.
  • Production : votre organisation Salesforce réelle, accessible via login.salesforce.com. Le connecteur y est déployé uniquement après validation complète sur le sandbox.

Vous aurez besoin de créer une External Client App dans chaque environnement. Les credentials ne sont pas partagés entre sandbox et production.

Si vous n’avez pas de sandbox

Un sandbox Salesforce se crée depuis votre console d’administration : Setup (roue dentée) puis Environments puis Sandboxes. Les sandboxes de type Developer sont disponibles sans surcoût sur les éditions Enterprise et Unlimited. Si vous n’avez pas accès à cette section, votre administrateur Salesforce peut en créer un.


Étape 2 : Créer une External Client App

L’External Client App est l’application enregistrée dans Salesforce qui autorise une intégration externe à se connecter via le flux OAuth 2.0 JWT Bearer.

Génération du certificat de signature du JWT

Avant de partir sur l’interface de Salesforce, vous devez lancer les commandes suivantes pour générer le certificat de signature du JWT Bearer :

# Génère clé privée RSA 2048 + certificat auto-signé
openssl req -newkey rsa:2048 -nodes -keyout server.key -x509 -days 365 -out server.crt

# Convertit en PKCS#8 (requis par le connecteur)
openssl pkcs8 -topk8 -nocrypt -in server.key -out server_pkcs8.pem
  • Le fichier publique server.crt va vous servir pour finaliser le paramètrage JWT de l’External Client App (pas besoin de nous le transmettre).
  • Le fichier server_pkcs8.pem quand à lui doit nous être transféré et sera stocké de manière sécurisé sur le serveur.

Le fichier server_pkcs8.pem est l’équivalant de la clé privé du certificat. Il est fait partie des paramètres de la route `/services/oauth2/token pour générer les access_token.

Tous comme la Consumer Key, évoquait plus bas, ce dernier doit nous être transférer via un partage sécurisé (Bitwarden, 1Password, …). Il ne doit pas être versionné et doit être stocker de manière sécurisé sur le serveur.

Accéder à l’External Client App Manager

Connectez-vous à votre organisation Salesforce (sandbox ou production). Cliquez sur la roue dentée en haut à droite pour accéder à Configuration.

Configuration Salesforce

Dans la barre de Recherche rapide, saisissez “Applications clientes externes”, cliquez sur Gestionnaire des applications clientes externes puis Nouvelle application cliente externe.

Salesforce accès à la création d'application cliente externe

Créer une nouvelle External Client App

Dans la page de configuration de l’External Client App renseignez les informations suivantes par section :

Informations de base

  • Nom de l’application : nom de votre connecteur.
  • Nom d’API : automatiquement généré à partir du nom de l’application.
  • Adresse e-mail du contact : votre adresse e-mail
  • État de distribution : Laissé Local

API

  • Cocher Activer OAuth
    • URL de rappel : Renseignez l’url racine de votre connecteur
  • Dans les paramètres étendues OAuth sélectionnez :
    • Gérer les données des utilisateurs via des API (api)
    • Exécuter des requêtes à tout moment (refresh_token, offline_access)

Et plus bas dans Flux Enablement cochez Activer le flux du porteur JWT

Ceci ajoutera un input “Chargement de certificat” vous permettant de charger le fichier server.crt créé précédemment.

Données à renseigner dans le formulaire Salesforce de création d'application externe

Enfin, cliquez sur Créer en bas.

Configurer les Stratégies d’application OAuth

Maintenant que votre application cliente externe est créé il ne vous reste plus qu’à finaliser les stratégies OAuth, vérifiez et verrouillez les contrôles de sécurité.

Dans l’onglet Stratégies cliquez sur le bouton Modifier et ajouter les options suivantes par section :

Stratégies d’application > Profils disponible > Administrateur Système

Stratégies OAuth > Utilisateurs autorisés > Les utilisateurs approuvés par l’administrateur sont pré-autorisés

Et cliquez sur Enregistrer en bas pour valider ces options.

Écran Salesforce de gestion des stratégie OAuth des applications externe

Vous pouvez maintenant valider les contrôles depuis le bandeau en haut de la page en cliquant sur Vérifier les contrôles puis dans la pop-up de confirmation cocher la checkbox Verrouillés de l’extension et finir par cliquer sur Confirmer

Pop-up Salesforce de confirmation pour verrouillé les contrôles OAuth


Étape 3 : Récupérer le Consumer Key

Maintenant que votre application externe est correctement configuré, allez sur l’onglet Paramètres puis ouvrez la section Paramètres OAuth et cliquez sur Clé et secret consommateur.

Accès Salesforce à la consumer key de l'external client app

Par sécurité Salesforce vous redirige alors sur un nouvel onglet pour vous authentifier à nouveau afin d’accéder au données consumer (consommateur) de l’external app.

Vous accédez alors à deux valeurs :

Écran Salesforce de visualisation des accès consumer et copie de la clé

  • Consumer Key (Clé consommateur) : identifiant public de votre application. Vous devez copier la valeur et nous le transmettre.
  • Consumer Secret (Secret consommateur) : mot de passe de l’application — Il ne sert que quand un utilisateur se connecte manuellement via un navigateur. Dans le cas d’une intégration JWT Bearer (server-to-server sans interaction humaine), il n’est pas utilisé — la clé privée RSA du certificat généré précédemment joue ce rôle.

Transmission au prestataire

Partagez le Consumer Key via un gestionnaire de mots de passe partagé (Bitwarden, 1Password, Dashlane). Jamais par email, Slack ou ticket de support en clair.

Communiquez également :

  • Le fichier server_pkcs8.pem généré pendant la création de l’External Client App
  • L’URL de votre organisation sandbox : format https://[votre-domaine].sandbox.my.salesforce.com
  • L’édition Salesforce utilisée (Professional, Enterprise, Unlimited)
  • La liste des Custom Objects et Custom Fields concernés par le connecteur (votre développeur vous posera ces questions lors de la phase de cadrage)

Références

Étape 3 : Sécurité

Sécuriser et transmettre votre token

Un token Salesforce donne accès à vos données métier. Quelques règles simples évitent les fuites accidentelles et permettent une révocation rapide en cas de problème.

Ne jamais committer le token

Un token dans un dépôt git (même privé) est une fuite de sécurité. Il doit toujours passer par une variable d'environnement dans votre .env local, jamais dans le code source.

Variable d'environnement côté serveur

Sur Clever Cloud (notre infrastructure d'hébergement), les variables d'environnement sont configurées depuis la console et injectées au démarrage de l'application. Elles ne sont jamais exposées côté client.

Comment nous le transmettre

Utilisez un gestionnaire de mots de passe partagé (Bitwarden, 1Password) ou notre formulaire de partage sécurisé. Jamais par email ou par message Slack en clair.

FAQ

Les réponses à vos questions

Et si vous ne trouvez pas ce que vous cherchez, nous serons ravis de vous répondre en direct lors d'un rendez-vous entre humains !

Non. Salesforce n'expose pas de token API personnel : toute intégration externe passe obligatoirement par une External Client App (application cliente externe) et le flux OAuth 2.0 JWT Bearer. C'est une différence majeure avec Pipedrive ou HubSpot et l'une des raisons pour lesquelles la mise en place d'un connecteur Salesforce demande plus de cadrage initial.

Oui, c'est indispensable. Un sandbox est une copie isolée de votre organisation Salesforce, avec sa propre URL d'authentification (test.salesforce.com). Le connecteur est développé et validé sur le sandbox avant de pointer sur la production. Si vous n'avez pas de sandbox actif, nous pouvons vous accompagner dans sa création depuis votre console Salesforce.

Non. Chaque environnement (sandbox et production) a sa propre External Client App avec ses propres Consumer Key et Consumer Secret. Les URLs d'authentification sont également différentes : test.salesforce.com pour le sandbox, login.salesforce.com pour la production. Vous devrez créer deux External Client Apps distinctes.

La Connected App était le mécanisme historique de Salesforce pour les intégrations OAuth 2.0. Depuis Spring '26 (mars 2026), Salesforce a désactivé la création de nouvelles Connected Apps par défaut : toutes les nouvelles intégrations doivent utiliser une External Client App (application cliente externe). Les Connected Apps existantes continuent de fonctionner, mais ne peuvent plus être créées. La différence principale tient à la sécurité : une External Client App n'est pas disponible globalement par défaut (secure by default), contrairement à l'ancienne Connected App qui était accessible à tous les profils utilisateurs dès sa création.

L'accès à l'API REST sur l'édition Professional nécessite un add-on payant. À partir de l'édition Enterprise, le quota de base est de 100 000 requêtes/24h, augmenté selon le volume de licences : +1 000 appels par licence Salesforce/jour sur Enterprise, +5 000 sur Unlimited et Performance. L'édition Developer est limitée à 15 000/24h. Ces quotas sont vérifiés lors de la phase de cadrage pour s'assurer que les volumes attendus sont compatibles.

Pour aller plus loin

Approfondir votre réflexion

Retour : Expert API Salesforce

Portail client, tableau de bord, synchronisation : découvrez tous les cas d'usages que nous pouvons développer avec l'API Salesforce.

Notre stack technique

Symfony, Vue.js, Clever Cloud : les technologies que nous utilisons pour développer des connecteurs robustes et maintenables.