Vous êtes ici :
API (Activer les paramètres OAuth) : Clé de vérification requise pour l'échange de code (PKCE)
Une extension de sécurité OAuth 2.0 qui utilise un « vérificateur de code » cryptographique créé dynamiquement pour s'assurer que l'application qui échange un code d'autorisation contre un jeton d'accès est identique à celle qui a demandé le code à l'origine.
Nom du contrôle
Applications connectées : API (Activer les paramètres OAuth) : Clé de vérification requise pour l'échange de code (PKCE)
Configuration recommandée
Extension Demander une clé de vérification pour l'échange de code (PKCE) pour les flux d'autorisation pris en charge - Sélectionné.
Vue d'ensemble du contrôle
PKCE est une extension de sécurité pour OAuth 2.0 qui utilise un « vérificateur de code » cryptographique créé dynamiquement pour s'assurer que l'application qui échange un code d'autorisation contre un jeton d'accès est la même que celle qui a demandé le code à l'origine.
Risque de sécurité s'il n'est pas configuré
Sans PKCE, les clients publics (comme les applications mobiles ou les applications à page unique) sont vulnérables à l'« interception de code d'autorisation », car ils ne peuvent pas stocker en toute sécurité un secret client pour vérifier leur identité pendant l'échange de jetons.
Scénarios de menace
Un assaillant intercepte un code d'autorisation réussi via un schéma d'URI personnalisé ou une redirection de navigateur et l'échange immédiatement contre un jeton d'accès valide avant que l'application légitime puisse le faire, piratant ainsi la session de l'utilisateur.
Plage de score CVSS estimée
Critique (9,0 à 10,0).
Considérations relatives à l'impact sur le risque
Une interception réussie entraîne une prise de contrôle totale du compte dans le périmètre de l'application, ce qui peut permettre à l'adversaire d'exfiltrer des informations d'identification personnelle confidentielles ou d'effectuer des transactions non autorisées au nom de l'utilisateur compromis.
Risque plus élevé quand
Le risque est élevé pour les applications mobiles et les applications à page unique dans lesquelles le code est transmis sur des navigateurs système potentiellement non sécurisés ou des environnements d'appareil partagés.
Risque faible quand
Le risque est considéré comme plus faible pour les « clients confidentiels » (intégrations serveur à serveur) qui peuvent stocker et utiliser en toute sécurité un Secret client pour authentifier l'échange de jetons, bien que PKCE soit toujours recommandé comme défense en profondeur.
Considérations relatives à l'entreprise et à l'intégration
L'application automatique de la PKCE nécessite que les développeurs mettent à jour la logique de poignée de main OAuth de leur application pour générer et envoyer les paramètres code_challenge et code_verifier, ce qui peut nécessiter de mettre à jour les bibliothèques mobiles héritées.
Remédiation recommandée
Accédez aux paramètres de l'application connectée dans Salesforce, puis activez la case « Extension Demander une clé de vérification pour l'échange de code (PKCE) ».
Guide d'examen sanitaire de sécurité
Security Health Review identifie la PKCE comme référence obligatoire pour toutes les intégrations publiques modernes afin de combler la faille de l'« injection de code » et d'assurer une vérification de l'identité élevée pour les utilisateurs mobiles et Web.

