Skip to main content

Création d’une application cliente externe

Remarque

Remarque

Vous souhaitez apprendre en français ? Commencez le défi dans un Trailhead Playground en français et utilisez les traductions fournies entre crochets pour naviguer. Copiez et collez uniquement les valeurs en anglais, car les validations de défi reposent sur les données en anglais. Si vous ne réussissez pas le défi dans votre organisation en français, nous vous recommandons (1) de définir le paramètre régional sur les États-Unis, (2) de définir la langue sur l’anglais en suivant les instructions ici, puis (3) de cliquer à nouveau sur le bouton « Vérifier le défi ».

Consultez le badge Trailhead dans votre langue pour découvrir comment profiter de l’expérience Trailhead traduite.

Création d’un projet SFDX

Maintenant que votre environnement est configuré, il est temps de créer votre application cliente externe. Pour ce faire, vous avez besoin d’un projet SFDX.

  1. Créez un dossier et nommez-le ECA Metadata (Métadonnées ACE) sur l’ordinateur sur lequel vous souhaitez concevoir l’application.
  2. Ouvrez le dossier dans VS Code.
  3. Ouvrez le terminal dans VS Code au niveau du dossier que vous avez créé.
  4. Exécutez la commande ci-dessous dans le terminal pour créer un projet Salesforce DX appelé ecaViaMetadata (métadonnéesViaAce) avec le modèle standard.
sf project generate --name ecaViaMetadata --template standard

Autorisation de votre organisation Dev Hub

Associez le projet SFDX sur votre ordinateur au Dev Hub de votre Trailhead Playground à l’aide de l’application connectée. Pour cette étape, vous aurez besoin de votre domaine. Pour rechercher votre domaine dans Setup (Configuration), saisissez My Domain (Mon domaine) dans la zone de recherche rapide, puis cliquez sur My Domain (Mon domaine).

  1. Ouvrez le dossier ECA Metadata (Métadonnées ACE) du projet SFDX dans VS Code.
  2. Dans le terminal de VS Code, exécutez cette commande après avoir remplacé <my domain> (mon domaine) par le domaine de votre organisation.
sf org login web --set-default-dev-hub --alias ecaViaMetadata --instance-url https://<my domain>
  1. Connectez-vous avec vos identifiants Trailhead Playground sur la page Web qui s’ouvre.
  2. Autorisez l’accès à l’organisation.

Configuration du projet SFDX pour une application cliente externe

  1. Ouvrez le fichier sfdx-project.json dans VS Code.
  2. Définissez le paramètre sfdcLoginUrl sur votre domaine.

Pour rechercher votre domaine dans Setup (Configuration), saisissez My Domain (Mon domaine) dans la zone de recherche rapide, puis cliquez sur My Domain (Mon domaine).

  1. Développez le répertoire config et ouvrez le fichier de définition de l’organisation test, appelé project-scratch-def.json. Ajoutez ExternalClientApps et ExtlClntAppSecretExposeCtl au paramètre des fonctionnalités.
	  "features": ["EnableSetPasswordInApi", "ExternalClientApps", "ExtlClntAppSecretExposeCtl"],

  1. Créez un fichier manifeste package.xml dans le répertoire du projet.
  2. Ajoutez ce contenu à votre fichier package.xml.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
    <types>
        <members>*</members>
        <name>ExternalClientApplication</name>
    </types>
    <version>61.0</version>
</Package>
  1. Dans le répertoire force-app/main/default, créez un dossier et nommez-le externalClientApps (applicationsClientExternes).
  2. Ajoutez le fichier ecaViaMetadata.eca-meta.xml à ce dossier. Il s’agit du fichier d’en-tête de votre application cliente externe.

  1. Ajoutez ce contenu à votre fichier d’en-tête.
<?xml version="1.0" encoding="UTF-8"?>
<ExternalClientApplication xmlns="http://soap.sforce.com/2006/04/metadata">
    <contactEmail>eca_metadata@example.com</contactEmail>
    <description>External client app Metadata API creation</description>
    <distributionState>Local</distributionState>
    <isProtected>false</isProtected>
    <label>ecaViaMetadata</label>
</ExternalClientApplication>

À ce stade, votre application cliente externe est en principe terminée. Si vous déployiez cette configuration, elle apparaîtrait dans le gestionnaire des applications clientes externes sur votre Playground en tant qu’application cliente externe de base. Cependant, pour créer une application utile, vous avez besoin d’un plug-in. Configurons un plug-in OAuth semblable à celui que nous avons créé dans le premier module. Un plug-in OAuth configuré pour le flux du serveur Web OAuth 2.0 nécessite quelques modifications et de nouveaux fichiers.

Activation et configuration du plug-in OAuth

Contrairement aux applications connectées, qui regroupent toutes les configurations dans un seul fichier, les applications clientes externes incluent deux fichiers de paramètres et un fichier de stratégies. Le fichier de paramètres OAuth globaux comprend des champs confidentiels, tels que la clé consommateur et le secret consommateur OAuth, qui doivent être protégés. Le fichier de paramètres OAuth inclut toutes les configurations moins sensibles pour une application cliente externe. Il n’est pas nécessaire de créer un fichier de stratégies lors de la configuration d’une application cliente externe pour le flux du serveur Web, car les stratégies sont configurées en fonction des fichiers de paramètres. Le fichier de stratégies OAuth est généré lorsque vous déployez l’application cliente externe.

Création d’un fichier de paramètres OAuth globaux

  1. Dans le répertoire force-app/main/default, créez un dossier et nommez-le extlClntAppGlobalOauthSets (paramOauthGlobauxApplicationsClientesExternes).
  2. Ajoutez le fichier ecaViaMetadataGlblOAuth.ecaGlblOauth-meta.xml à ce dossier.

  1. Ouvrez ecaViaMetadataGlblOAuth.ecaGlblOauth-meta.xml dans VS Code et ajoutez-y le contenu ci-dessous.
<?xml version="1.0" encoding="UTF-8"?>
<ExtlClntAppGlobalOauthSettings xmlns="http://soap.sforce.com/2006/04/metadata">
    <callbackUrl>https://openidconnect.herokuapp.com/callback</callbackUrl>
    <externalClientApplication>ecaViaMetadata</externalClientApplication>
    <isConsumerSecretOptional>false</isConsumerSecretOptional>
    <isIntrospectAllTokens>false</isIntrospectAllTokens>
    <isPkceRequired>false</isPkceRequired>
    <isSecretRequiredForRefreshToken>true</isSecretRequiredForRefreshToken>
    <label>ecaViaMetadataglobalset</label>
    <shouldRotateConsumerKey>false</shouldRotateConsumerKey>
    <shouldRotateConsumerSecret>false</shouldRotateConsumerSecret>
</ExtlClntAppGlobalOauthSettings>
  1. Enregistrez le fichier de paramètres OAuth globaux.

Création d’un fichier de paramètres OAuth

  1. Dans le répertoire force-app/main/default, créez un dossier et nommez-le extlClntAppOauthSettings (paramOauthApplicationsClientesExternes).
  2. Ajoutez le fichier ecaViaMetadataSettings.ecaOauth-meta.xml à ce dossier.

  1. Ouvrez ecaViaMetadataSettings.ecaOauth-meta.xml dans VS Code et ajoutez-y le contenu ci-dessous.
<?xml version="1.0" encoding="UTF-8"?>
<ExtlClntAppOauthSettings xmlns="http://soap.sforce.com/2006/04/metadata">
    <commaSeparatedOauthScopes>Api, Web, OpenID</commaSeparatedOauthScopes>
   <externalClientApplication>ecaViaMetadata</externalClientApplication>
    <label>ECA via Metadata Oauth Settings</label>
</ExtlClntAppOauthSettings>
  1. Enregistrez le fichier de paramètres OAuth.

Fichiers de paramètres de référence dans le fichier d’en-tête

Maintenant que vous avez créé les deux fichiers de paramètres, vous devez les intégrer à l’application cliente externe. Le fichier d’en-tête recense tous les fichiers qui composent l’application cliente externe.

  1. Ouvrez le fichier manifeste package.xml.
  2. Ajoutez une entrée pour chacun des trois fichiers OAuth.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
    <types>
        <members>*</members>
        <name>ExternalClientApplication</name>
    </types>
    <types>
        <members>*</members>
        <name>ExtlClntAppOauthSettings</name>
    </types>
    <types>
        <members>*</members>
        <name>ExtlClntAppGlobalOauthSettings</name>
    </types>
    <types>
        <members>*</members>
        <name>ExtlClntAppOauthConfigurablePolicies</name>
    </types>
    <version>61.0</version>
</Package>
  1. Enregistrez le fichier manifeste package.xml.

Déploiement de votre application cliente externe

Maintenant que votre application cliente externe est correctement configurée, déployez-la. Le fichier de stratégies est créé lors du déploiement. Après ce dernier, vous devez donc récupérer l’application cliente externe pour extraire le fichier généré dans votre projet SFDX.

  1. Exécutez cette commande pour déployer l’application cliente externe. Remplacez <username> (nom d’utilisateur) par le nom d’utilisateur que vous avez utilisé pour vous connecter lorsque vous avez autorisé Dev Hub.
sf project deploy start --manifest package.xml --target-org <Username>
  1. Récupérez l’application cliente externe depuis votre Trailhead Playground. Remplacez <username> (nom d’utilisateur) par le nom d’utilisateur que vous avez utilisé pour vous connecter lorsque vous avez autorisé Dev Hub.
sf project retrieve start --manifest package.xml --target-org <username>

Vérification de l’application

Une fois que vous avez déployé et récupéré l’application cliente externe, un fichier de stratégies doit désormais s’afficher dans votre projet SFDX.

De plus, si vous ouvrez le gestionnaire d’applications clientes externes, une nouvelle application cliente externe nommée ecaViaMetadata (métadonnéesViaAce) s’affiche. Si vous êtes d’humeur aventureuse, vous pouvez rassembler les informations sur votre domaine ainsi que la clé et le secret consommateur OAuth, puis les utiliser dans le Playground OpenID Connect pour parcourir le flux du serveur Web OAuth.

Ressources

Partagez vos commentaires sur Trailhead dans l'aide Salesforce.

Nous aimerions connaître votre expérience avec Trailhead. Vous pouvez désormais accéder au nouveau formulaire de commentaires à tout moment depuis le site d'aide Salesforce.

En savoir plus Continuer à partager vos commentaires