Partager via


Configurer l’inscription et la connexion avec un compte Salesforce à l’aide d’Azure Active Directory B2C

Important

À compter du 1er mai 2025, Azure AD B2C ne sera plus disponible pour les nouveaux clients. Pour plus d’informations, consultez notre FAQ.

Avant de commencer, utilisez le sélecteur Choisir un type de stratégie en haut de cette page pour choisir le type de stratégie que vous configurez. Azure Active Directory B2C offre deux possibilités pour définir la façon dont les utilisateurs interagissent avec vos applications : via des flux utilisateurs prédéfinis ou via des stratégies personnalisées entièrement configurables. La procédure donnée dans cet article est différente pour chaque méthode.

Remarque

Dans Active Directory B2C, les stratégies personnalisées sont principalement conçues pour gérer des scénarios complexes. Pour la plupart des scénarios, nous vous recommandons de recourir à des flux d’utilisateurs intégrés. Si vous ne l’avez pas fait, découvrez le Pack de démarrage de stratégie personnalisée dans Prise en main des stratégies personnalisées dans Active Directory B2C.

Conditions préalables

Créer une application Salesforce

Pour activer la connexion pour les utilisateurs disposant d’un compte Salesforce dans Azure Active Directory B2C (Azure AD B2C), vous devez créer une application dans votre App Manager Salesforce. Pour plus d’informations, consultez Configurer les paramètres d’application connectée de base et activer les paramètres OAuth pour l’intégration d’API

  1. Connectez-vous à Salesforce.
  2. Dans le menu, sélectionnez Configuration.
  3. Développez Applications, puis sélectionnez App Manager.
  4. Sélectionnez Nouvelle application connectée.
  5. Sous les informations de base, entrez :
    1. Nom de l’application connectée : le nom de l’application connectée s’affiche dans le Gestionnaire d’applications et dans sa vignette Du lanceur d’applications. Le nom doit être unique au sein de votre organisation.
    2. Nom de l’API
    3. Adresse e-mail de contact - E-mail de contact pour Salesforce
  6. Sous API (Activer les paramètres OAuth), sélectionnez Activer les paramètres OAuth
    1. Pour l’URL de rappel, entrez https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authresp. Si vous utilisez un domaine personnalisé, entrez https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp. Remplacez your-tenant-name par le nom de votre locataire et your-domain-name par votre domaine personnalisé. Vous devez utiliser toutes les lettres minuscules lors de la saisie du nom de votre locataire, même si le locataire est défini avec des lettres majuscules dans Azure AD B2C.
    2. Dans les étendues OAuth sélectionnées, sélectionnez Accéder au service d’URL d’identité (ID, profil, e-mail, adresse, téléphone) et Autoriser l’accès à votre identificateur unique (openid).
    3. Sélectionnez Exiger un secret pour le flux de serveur web.
  7. Sélectionner Configurer le jeton d’ID
    1. Définissez le paramètre Jeton valide pendant sur 5 minutes.
    2. Sélectionnez Inclure les revendications standard.
  8. Cliquez sur Enregistrer.
  9. Copiez les valeurs de la clé de consommateur et du secret consommateur. Vous aurez besoin de ces deux éléments pour configurer Salesforce en tant que fournisseur d’identité dans votre locataire. Client secret est une information d’identification de sécurité importante.

Configurer Salesforce en tant que fournisseur d’identité

  1. Si vous avez accès à plusieurs tenants (locataires), sélectionnez l’icône Paramètres dans le menu supérieur pour basculer vers votre tenant Azure AD B2C à partir du menu Annuaires + abonnements.

  2. Choisissez tous les services dans le coin supérieur gauche du portail Azure, puis recherchez et sélectionnez Azure AD B2C.

  3. Sélectionnez Fournisseurs d’identité, puis nouveau fournisseur OpenID Connect.

  4. Saisissez un Nom. Par exemple, entrez Salesforce.

  5. Pour l’URL de métadonnées, entrez l’URL du document de configuration Salesforce OpenID Connect. Pour un bac à sable, login.salesforce.com est remplacé par test.salesforce.com. Pour une communauté, login.salesforce.com est remplacé par l’URL de la communauté, par exemple username.force.com/.well-known/openid-configuration. L’URL doit être HTTPS.

    https://login.salesforce.com/.well-known/openid-configuration
    
  6. Pour ID client, entrez l’ID d’application que vous avez enregistré précédemment.

  7. Pour secret client, entrez le secret client que vous avez enregistré précédemment.

  8. Pour Étendue, entrez openid id profile email.

  9. Conservez les valeurs par défaut pour le type réponse et le mode Réponse.

  10. (Facultatif) Pour l’indicateur de domaine, saisissez contoso.com. Pour plus d’informations, consultez Configurer la connexion directe avec Azure Active Directory B2C.

  11. Sous Mappage des revendications du fournisseur d’identité, sélectionnez les revendications suivantes :

    • ID d’utilisateur : sub
    • Nom affiché : nom
    • Nom donné : given_name
    • Nom de famille : family_name
    • E-mail : e-mail
  12. Cliquez sur Enregistrer.

Ajouter un fournisseur d’identité Salesforce à un flux d’utilisateur

À ce stade, le fournisseur d’identité Salesforce a été configuré, mais il n’est pas encore disponible dans les pages de connexion. Pour ajouter le fournisseur d’identité Salesforce à un flux d’utilisateur :

  1. Dans votre tenant Azure AD B2C, sélectionnez Flux d’utilisateurs.
  2. Cliquez sur le flux utilisateur auquel vous souhaitez ajouter le fournisseur d’identité Salesforce.
  3. Sous les fournisseurs d’identité sociale, sélectionnez Salesforce.
  4. Cliquez sur Enregistrer.
  5. Pour tester votre stratégie, sélectionnez Exécuter le flux utilisateur.
  6. Pour l’application, sélectionnez l’application web nommée testapp1 que vous avez inscrite précédemment. L’URL de réponse doit être https://jwt.ms.
  7. Sélectionnez le bouton Exécuter le flux utilisateur .
  8. Dans la page d’inscription ou de connexion, sélectionnez Salesforce pour vous connecter avec le compte Salesforce.

Si le processus de connexion réussit, votre navigateur est redirigé vers https://jwt.ms, qui affiche le contenu du jeton retourné par Azure AD B2C.

Créer une clé de stratégie

Vous devez stocker la clé secrète client que vous avez enregistrée dans votre locataire Azure AD B2C.

  1. Connectez-vous au portail Azure.
  2. Si vous avez accès à plusieurs tenants (locataires), sélectionnez l’icône Paramètres dans le menu supérieur pour basculer vers votre tenant Azure AD B2C à partir du menu Annuaires + abonnements.
  3. Choisissez tous les services dans le coin supérieur gauche du portail Azure, puis recherchez et sélectionnez Azure AD B2C.
  4. Dans la page Vue d’ensemble, sélectionnez Identity Experience Framework.
  5. Sélectionnez Clés de stratégie , puis sélectionnez Ajouter.
  6. Pour options, choisissez Manual.
  7. Entrez un nom pour la clé de stratégie. Par exemple : SalesforceSecret. Le préfixe B2C_1A_ est ajouté automatiquement au nom de votre clé.
  8. Dans Secret, entrez votre clé secrète client que vous avez enregistrée précédemment.
  9. Pour l’utilisation de la clé, sélectionnez Signature.
  10. Cliquez sur Créer.

Configurer Salesforce en tant que fournisseur d’identité

Pour permettre aux utilisateurs de se connecter à l’aide d’un compte Salesforce, vous devez définir le compte en tant que fournisseur de revendications avec lequel Azure AD B2C peut communiquer via un point de terminaison. Le point de terminaison fournit un ensemble de revendications utilisées par Azure AD B2C pour vérifier qu’un utilisateur spécifique s’est authentifié.

Vous pouvez définir un compte Salesforce en tant que fournisseur de revendications en l’ajoutant à l’élément ClaimsProviders dans le fichier d’extension de votre stratégie.

  1. Ouvrez le fichier TrustFrameworkExtensions.xml.

  2. Recherchez l’élément ClaimsProviders . S’il n’existe pas, ajoutez-le sous l’élément racine.

  3. Ajoutez un nouveau ClaimsProvider comme suit :

    <ClaimsProvider>
      <Domain>salesforce.com</Domain>
      <DisplayName>Salesforce</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="Salesforce-OpenIdConnect">
          <DisplayName>Salesforce</DisplayName>
          <Protocol Name="OpenIdConnect" />
          <Metadata>
            <Item Key="METADATA">https://login.salesforce.com/.well-known/openid-configuration</Item>
            <Item Key="response_types">code</Item>
            <Item Key="response_mode">form_post</Item>
            <Item Key="scope">openid id profile email</Item>
            <Item Key="HttpBinding">POST</Item>
            <Item Key="UsePolicyInRedirectUri">0</Item>
            <!-- Update the Client ID below to the Application ID -->
            <Item Key="client_id">Your Salesforce application ID</Item>
          </Metadata>
          <CryptographicKeys>
            <Key Id="client_secret" StorageReferenceId="B2C_1A_SalesforceSecret"/>
          </CryptographicKeys>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" />
            <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
            <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="family_name" />
            <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" />
            <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" />
            <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="salesforce.com" AlwaysUseDefaultValue="true" />
            <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
          </OutputClaims>
          <OutputClaimsTransformations>
            <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
            <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
            <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
          </OutputClaimsTransformations>
          <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  4. Les MÉTADONNÉES sont définies sur l’URL du document de configuration Salesforce OpenID Connect. Pour un bac à sable, login.salesforce.com est remplacé par test.salesforce.com. Pour une communauté, login.salesforce.com est remplacé par l’URL de la communauté, par exemple username.force.com/.well-known/openid-configuration. L’URL doit être HTTPS.

  5. Définissez client_id sur l’ID d’application de l’inscription de l’application.

  6. Enregistrez le fichier.

Ajouter un parcours utilisateur

À ce stade, le fournisseur d'identité a été configuré, mais il n'est pas encore disponible dans aucune des pages de connexion. Si vous n’avez pas votre propre parcours utilisateur personnalisé, créez un doublon d’un parcours utilisateur de modèle existant, sinon passez à l’étape suivante.

  1. Ouvrez le fichier TrustFrameworkBase.xml à partir du pack de démarrage.
  2. Recherchez et copiez l’intégralité du contenu de l’élément UserJourney qui inclut Id="SignUpOrSignIn".
  3. Ouvrez le TrustFrameworkExtensions.xml et recherchez l’élément UserJourneys . Si l’élément n’existe pas, ajoutez-en un.
  4. Collez tout le contenu de l’élément UserJourney que vous avez copié en tant qu’enfant de l’élément UserJourneys .
  5. Renommez l’ID du parcours utilisateur. Par exemple : Id="CustomSignUpSignIn".

Ajouter le fournisseur d’identité à un parcours utilisateur

Maintenant que vous disposez d’un parcours utilisateur, ajoutez le nouveau fournisseur d’identité au parcours utilisateur. Vous ajoutez d’abord un bouton de connexion, puis liez le bouton à une action. L'action correspond au profil technique que vous avez créé précédemment.

  1. Recherchez l’élément d’étape d’orchestration qui inclut Type="CombinedSignInAndSignUp"ou Type="ClaimsProviderSelection" dans le parcours utilisateur. Il s’agit généralement de la première étape d’orchestration. L’élément ClaimsProviderSelections contient une liste de fournisseurs d’identité auxquels un utilisateur peut se connecter. L’ordre des éléments contrôle l’ordre des boutons de connexion présentés à l’utilisateur. Ajoutez un élément XML ClaimsProviderSelection . Définissez la valeur de TargetClaimsExchangeId sur un nom convivial.

  2. À l’étape d’orchestration suivante, ajoutez un élément ClaimsExchange . Définissez ID sur la valeur de l’ID d’échange des revendications cible. Mettez à jour la valeur de TechnicalProfileReferenceId sur l’ID du profil technique que vous avez créé.

Le code XML suivant illustre les deux premières étapes d’orchestration d’un parcours utilisateur avec le fournisseur d’identité :

<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
  <ClaimsProviderSelections>
    ...
    <ClaimsProviderSelection TargetClaimsExchangeId="SalesforceExchange" />
  </ClaimsProviderSelections>
  ...
</OrchestrationStep>

<OrchestrationStep Order="2" Type="ClaimsExchange">
  ...
  <ClaimsExchanges>
    <ClaimsExchange Id="SalesforceExchange" TechnicalProfileReferenceId="Salesforce-OpenIdConnect" />
  </ClaimsExchanges>
</OrchestrationStep>

Configurer la stratégie de partie de confiance

La politique de partie de confiance, par exemple SignUpSignIn.xml, spécifie le parcours utilisateur qu'Azure AD B2C exécutera. Recherchez l’élément DefaultUserJourney dans la partie de confiance. Mettez à jour le ReferenceId pour qu'il corresponde à l'identifiant du parcours utilisateur dans lequel vous avez ajouté le fournisseur d'identité.

Dans l’exemple suivant, pour le CustomSignUpSignIn parcours utilisateur, l’Id de référence est défini sur CustomSignUpSignIn:

<RelyingParty>
  <DefaultUserJourney ReferenceId="CustomSignUpSignIn" />
  ...
</RelyingParty>

Téléchargez la stratégie personnalisée

  1. Connectez-vous au portail Azure.
  2. Sélectionnez l’icône Répertoire + Abonnement dans la barre d’outils du portail, puis sélectionnez le répertoire qui contient votre locataire Azure AD B2C.
  3. Dans le portail Azure, recherchez et sélectionnez Azure AD B2C.
  4. Sous Stratégies, sélectionnez Identity Experience Framework.
  5. Sélectionnez Charger une stratégie personnalisée, puis chargez les deux fichiers de stratégie que vous avez modifiés, dans l’ordre suivant : la stratégie d’extension, par exemple TrustFrameworkExtensions.xml, la stratégie de partie de confiance, telle que SignUpSignIn.xml.

Tester votre stratégie personnalisée

  1. Sélectionnez votre stratégie de partie de confiance, par exemple B2C_1A_signup_signin.
  2. Pour l’application, sélectionnez une application web que vous avez inscrite précédemment. L’URL de réponse doit être https://jwt.ms.
  3. Sélectionnez le bouton Exécuter maintenant .
  4. Dans la page d’inscription ou de connexion, sélectionnez Salesforce pour vous connecter avec le compte Salesforce.

Si le processus de connexion réussit, votre navigateur est redirigé vers https://jwt.ms, qui affiche le contenu du jeton retourné par Azure AD B2C.

Étapes suivantes

Découvrez comment transmettre un jeton Salesforce à votre application.