Loading
Identification de vos utilisateurs et gestion de l’accès
Table des matières
Sélectionner des filtres

          Aucun résultat
          Aucun résultat
          Voici quelques conseils de recherche

          Vérifiez l'orthographe de vos mots-clés.
          Utilisez des termes de recherche plus généraux.
          Sélectionnez moins de filtres pour élargir votre recherche.

          Recherchez dans toute l’aide de Salesforce
          Extension Clé de vérification pour l'échange de code (PKCE)

          Extension Clé de vérification pour l'échange de code (PKCE)

          Pour renforcer la sécurité de vos implémentations OAuth et fournisseur d'authentification, utilisez l’extension Clé de vérification pour l'échange de code OAuth 2.0. Vous pouvez demander l'extension PKCE au niveau de l'organisation, pour une application connectée spécifique, et l'activer automatiquement pour les fournisseurs d'authentification pris en charge.

          Éditions requises

          Disponible avec : toutes les éditions

          Durant le flux Code d'autorisation OAuth et ses dérivés, l'extension PKCE permet de vérifier que le client initiant le flux est celui qui complète le flux. Pendant ces flux, une application demande un code d'autorisation à Salesforce, puis l'échange contre un jeton d'accès. Généralement, l'application peut sécuriser la requête de jeton en incluant le secret consommateur de son application connectée. Le secret consommateur est une information connue uniquement de l'application et Salesforce. Par conséquent, il fonctionne comme un mot de passe d'accès au point de terminaison de jeton Salesforce. Même si un assaillant accède à un code d'autorisation, il ne peut pas l'utiliser pour obtenir un jeton d'accès sans connaître le secret consommateur.

          Cependant, les clients publics, tels que les applications mobiles et les applications à page unique, ne peuvent pas protéger le secret consommateur. Contrairement aux applications clientes privées avec une architecture client-serveur traditionnelle, les clients publics ne possédent pas de back-end privé dans lequel stocker le secret consommateur. Si un client public envoie le secret consommateur dans la requête de jeton, il risque de le révéler. Pour cette raison, nous recommandons de ne jamais inclure le secret consommateur dans les requêtes de jeton d'un client public.

          Sans secret consommateur, l'application est vulnérable face à un assaillant qui intercepte le code d'autorisation et tente de l'échanger contre un jeton d'accès. L'extension PKCE comble l'absence de secret consommateur avec des paramètres hachés que seules votre application et Salesforce peuvent déchiffrer. Pendant un flux qui implémente l'extension PKCE, l'application crée une chaîne aléatoire, appelée paramètre code_verifier. Cette valeur est ensuite hachée à l'aide de l'algorithme SHA-256. Cette valeur hachée correspond au paramètre code_challenge. Le concept clé du hachage SHA-256 est son fonctionnement unidirectionnel. Vous pouvez obtenir le code_challenge du code_verifier en exécutant l'algorithme SHA-256. Cependant, vous ne pouvez pas l'exécuter à l'envers pour récupérer le code_verifier du code_challenge.

          Ce concept unidirectionnel joue un rôle important dans le fonctionnement de l'extension PKCE. Lorsque l'application envoie sa requête initiale de code d'autorisation, elle inclut le paramètre code_challenge haché. Lorsqu'elle demande ensuite un jeton d'accès, elle inclut le paramètre code_verifier. Salesforce dispose maintenant des deux paramètres et peut exécuter l'algorithme SHA-256 sur la valeur code_verifier pour la comparer à code_challenge. Si les valeurs correspondent, Salesforce peut vérifier que la même application a envoyé la demande d'autorisation et la demande de jeton. Même si l'assaillant possède le code d'autorisation, il ne peut pas l'échanger contre un jeton d'accès, car il n'a pas les paramètres de l'extension PKCE que connaissent votre application et Salesforce.

          Nous recommandons de toujours implémenter l'extension PKCE pour des clients publics. Pour des clients privés, nous recommandons d'implémenter l'extension PKCE et d'inclure le secret consommateur dans les requêtes de jeton.

          Vous pouvez également implémenter l'extension PKCE en incluant les paramètres code_challenge et code_verifier en élaborant des variantes du flux code d'autorisation avec Salesforce. Les flux suivants prennent en charge extension PKCE :

          Pour vous assurer que l'extension PKCE est automatiquement appliquée, nous recommandons de suivre les mesures de sécurité ci-dessous.

          Génération des paramètres PKCE

          Utilisez le point de terminaison PKCE Generator pour générer rapidement les paramètres code_challenge et code_verifier que vous pouvez implémenter dans les variantes du flux code d'autorisation.

          1. Activez le partage de ressources d'origine croisée (CORS) pour les points de terminaison OAuth, qui active automatiquement le CORS pour le point de terminaison /services/oauth2/pkce/generator.
          2. Pour générer les paramètres de code_challenge et de code_verifier, envoyez une requête GET HTTP au point de terminaison /services/oauth2/pkce/generator dans l'URL de connexion de votre Mon domaine ou l'URL de votre site Experience Cloud. N'incluez aucun en-tête ou paramètre de corps dans cette requête.
            Voici un exemple de requête qui utilise une URL de connexion Mon domaine.
            GET /services/oauth2/pkce/generator? HTTP 1.1
            Host: MyDomainName.my.site.salesforce.com
            Voici un exemple de requête qui utilise une URL de site Experience Cloud.
            GET /services/oauth2/pkce/generator? HTTP 1.1
            Host: MyDomainName.my.site.com
            Salesforce répond avec les paramètres PKCE ci-dessous.
            ParamètreDescription
            code_challenge_method La méthode utilisée pour calculer le code_challenge à partir du code_verifier. Salesforce utilise la méthode S256, qui calcule le code_challenge à partir du code_verifier à l'aide d'un algorithme SHA256. Pour plus d'informations, consultez la Section 4.2 dans RFC 7636: Proof Key for Code Exchange by OAuth Public Clients.
            code_challenge

            Spécifie la valeur de hachage SHA256 de la valeur code_verifier dans la demande de jeton. La valeur est une URL encodée en Base-64 telle que définie dans la Section 5 de RFC 4648: The Base16, Base32, and Base64 Data Encodings.

            Lorsque vous configurez votre flux d'autorisation, insérez cette valeur dans la demande d'autorisation.

            code_verifier

            Spécifie 128 octets de données aléatoires avec une entropie élevée pour rendre la valeur du code difficile à deviner. Définissez ce paramètre pour empêcher les attaques par interception de code d'autorisation. La valeur est une URL encodée en Base-64 telle que définie dans la Section 5 de RFC 4648: The Base16, Base32, and Base64 Data Encodings.

            Lorsque vous configurez votre flux d'autorisation, insérez cette valeur dans la demande de jeton.

            Voici un exemple de réponse :
            {
            “code_challenge_method”:“S256”
            “code_challenge”:“JB7nT*************”
            “code_verifier”:“GkLvw**************”
            }

          Lorsque vous configurez le flux Serveur Web, le flux Serveur Web hybride et les variantes du flux Code d'autorisation et identifiants, insérez les paramètres code_challenge et code_verifier dans vos requêtes comme indiqué.

           
          Chargement
          Salesforce Help | Article