Utiliser un IDP pour se connecter à Salesforce (Part 1 — Getting Started)

Halim BOUNFOUF
Altius services
Published in
6 min readJan 5, 2022

Allons-y doucement

Vous avez certainement déjà vu ça en surfant sur le web !

On vous demande soit de vous connecter avec votre nom d’utilisateur et mot de passe soit en utilisant Google, Facebook ou autres.

Pourquoi ?

Nous utilisons de plus en plus de logiciels et d’applications qui nécessitent une authentification : Facebook, Twitter, LinkedIn, Gmail …etc. Se souvenir de tous les mots de passe n’est pas évident. Et utiliser le même mot de passe pour toutes les applications peut s’avérer risqué.

C’est pour cette raison, que nous voyons de plus en plus d’applications qui utilisent l’authentification unique (Single Sign On ou plus connue sous SSO). Sachez que vous utilisez SSO, chaque fois que vous voyez Login with ou Sign in with.

Dans le monde de l’entreprise, c’est le même challenge. Les employés utilisent plusieurs solutions de gestion : ERP, CRM, Messagerie, Solutions développées en interne …etc, et doivent mémoriser le mot de passe de chaque système. Sans oublier la galère des administrateurs qui doivent gérer les comptes de tous les employés indépendamment dans tous les systèmes : Création de comptes, attribution des droits, réinitialisation des mots de passe, désactivation des comptes …etc.

L’idée d’un fournisseur d’identité est alors apparue.

Qu’est-ce qu’un IdP (Identity Provider) ?

Un IdP est un service qui permet de stocker et de gérer l’identité digitale des utilisateurs. Toutes les solutions de gestion utilisées en entreprises (Services Provider SP) vont utiliser l’IdP pour authentifier leurs utilisateurs.

L’avantage pour les entreprises est d’avoir un seul outil qui permet de gérer tous les utilisateurs. Quant à l’utilisateur, il n’aura plus qu’à mémoriser un seul mot de passe qui lui permettra de se connecter par tout.

Quel fournisseur ?

Salesforce peut très bien jouer le rôle d’un IdP. Active Directory de Microsoft est l’une des solutions les plus connues et utilisées sur le marché . Il existe aussi des solutions Cloud comme miniOrange que nous allons d’ailleurs utiliser pour cette démo.

Vous avez dit SP (Service Provider) ?

Un SP dans notre cas, représente la solution qui utilisera l’IdP pour gérer et/ou authentifier ses utilisateurs.

Démo Time !

Vous l’aurez compris, dans cette démo Salesforce représente le SP et miniOrange représente l’IdP !

Build

Les prérequis

Nous aurons besoin pour cette démo d’un compte sur miniOrange. Vous pouvez en créer un gratuitement avec une période de test d’un mois pour vous exercer.

Créez votre compte ici : https://www.miniorange.com/businessfreetrial

Step 1 : Enable my domain

La première étape consiste à activer votre domaine personnalisé au niveau de Salesforce.

  1. Dans Setup, Saisissez my domain et cliquez sur My Domain
  2. Cliquez sur Edit dans la section My Domain Details
  3. Saisissez un nom de domaine de votre choix dans le champ My Domain Name et cliquez sur Check Availability pour vérifier la disponibilité, puis cliquez sur Save.

Salesforce prendra un peu de temps pour configurer le nouveau domaine.

4. Cliquez sur Deploy New Domain.

Step 2 : Créer votre compte miniOrange

  1. Rendez-vous sur ce lien : https://www.miniorange.com/businessfreetrial et cliquez sur SIGN UP
  2. Remplissez le formulaire de création du compte.

L’email que vous allez choisir sera votre nom d’utilisateur. Gardez-le en tête, nous allons l’utiliser dans la prochaine étape.

  1. Cliquez sur Sign UP Now

Step 3 : Créer votre Federation ID

Lorsque vous mettez en place une authentification SSO, vous aurez toujours besoin d’un identifiant qui fera la liaison entre l’IdP et le SP. Au niveau de Salesforce, vous pouvez utiliser le nom d’utilisateur, l’identifiant de l’utilisateur ou le Federation ID. Nous utiliserons dans notre cas le Federation ID.

Si vous souhaitez utiliser le nom d’utilisateur ou l’ID de l’utilisateur pour faire la correspondance avec miniOrange, vous pouvez sauter cette étape.

  1. Dans Setup, saisissez Users et cliquez sur Users
  2. Cliquez sur edit à côté de l’utilisateur que vous souhaitez utiliser pour l’authentification SSO
  3. Dans Federation ID, saisissez le nom d’utilisateur de votre compte miniOrgange
  4. Cliquez sur Save.

Voilà ! On vient de faire la liaison entre notre compte miniOrange et celui de Salesforce.

Step 4: Configurez votre IdP (miniOrange)

Votre IdP a besoin de connaître votre SP et vice-versa. Dans cette étape nous allons donner des informations de Salesforce à miniOrange.

  1. Dans la page d’accueil de miniOrange, cliquez sur Apps puis Add Application.
  2. Dans la rubrique SAML/WS-FED, cliquez sur Create App.
  3. Saisissez Salesforce dans la barre de recherche et cliquez sur Salesforce.
  4. Remplir le formulaire comme suit :

Application Name : Salesforce

SP Entity ID or Issuer : https://[yourdomain].my.salesforce.com

ACS URL : https://[yourdomain].my.salesforce.com

Single Logout URL : https://[yourdomain].my.salesforce.com

Sign Response : ON

5. Cliquez sur Next.

6. Dans la rubrique Attribute Mapping. Dans Name ID, choisissez Username

7. Cliquez sur Save.

8. Dans Apps Cliquez sur Select à côté de votre application Salesforce puis cliquez sur Metadata.

9. Cliquez sur Show Metadata Details et cliquez sur Download Certificate.

Nous aurons besoin de ce certificat dans la prochaine étape.

Laissez cette configuration ouverte. Nous en aurons besoin pour faire la configuration côté Salesforce. Ouvrez un nouvel onglet pour faire la configuration Salesforce.

Step 5 : configurez votre SP (Salesforce)

Faisons maintenant connaître miniOrange à Salesforce. Nous allons d’abord activer l’authentification SSO sur Salesforce. Par la suite, nous allons créer une nouvelle authentification SSO qui permet de dire à Salesforce qu’il peut utiliser miniOrange comme IdP.

  1. Dans Setup, Saisissez Single Sign On puis cliquez sur Single Sign-On Settings.
  2. Assurez-vous que la case SAML Enabled est cochée. Si ce n’est pas le cas, cliquez sur Edit et cochez la.
  3. Dans le tableau Single Sign-On Settings, cliquez sur New
  4. Saisissez les valeurs ci-dessous :

Name : miniOrange (Choisissez un nom significatif)

Issuer : Reprenez la valeur du champ IdP Entity ID or Issuer au niveau de miniOrange

Entity ID : https://[yourdomain].my.salesforce.com

Identity Provider Certificate : choisissez le certificat que vous avez téléchargé dans l’étape précédente.

Request Signature Method : RSA-SHA256

Assertion Decryption Certificate : assertion not encrypted

SAML Identity Type : assertion contains the Federation ID from the User object

SAML Identity Location : Adentity is in the NameIdentifier element of the Subject statement

Service Provider Initiated Request Binding : HTTP Redirect

Identity Provider Login URL : Reprenez la valeur du champ SAML Login URL au niveau de miniOrange

Custom Logout URL : https://[yourdomain].my.salesforce.com

Step 6 : Ajouter miniOrange comme service d’authentification

Nous avons presque fini. La dernière étape consiste à faire apparaître le bouton Login using miniOrange au niveau de la page Login de Salesforce.

  1. Dans Setup, saisissez My Domain puis cliquez sur My Domain
  2. Cliquez sur Edit, dans la section Authentication Configuration
  3. Cochez la case miniOrange puis cliquez sur Save.

Step 7 : Enjoy !

Déconnectez-vous de Salesforce. Vous devez voir en plus de la partie login de Salesforce, une section Or login using.

  1. Cliquez sur le bouton miniOrange. Vous serez redirigé vers la page login de miniOrange.
  2. Saisissez votre nom d’utilisateur et cliquez sur Login.
  3. Saisissez votre mot de passe et cliquez de nouveau sur Login

Voilà ! Vous venez d’utiliser miniOrange comme IdP pour vous connectez à Salesforce.

Ce qu’il faut retenir

Pour mettre en place une authentification unique il faut toujours avoir un IdP et un SP. L’IdP est votre fournisseur d’identité. C’est le service qui permet de stocker et de gérer l’identité de vos utilisateurs. Le SP est le système qui va utiliser les services de l’IdP pour authentifier ses utilisateurs.

Garder en tête que pour mettre en place un SSO. Il faut avoir les informations suivantes de la part de l’IdP :

  • Issuer: Représente l’URL qui identifie de manière unique votre IdP
  • IdP Certificate: Le certificat d’authentification émis par votre IdP
  • IdP Login URl: L’URL à laquelle se fera la redirection lorsque vous cliquez sur le bouton Login using.

Le SP quant à lui doit fournir les informations suivantes :

  • Entity Id: représente l’URL qui identifie de manière unique votre SP

Enfin, il faut choisir le champ qui sera utilisé pour faire la correspondance entre les utilisateurs de l’IdP et ceux du SP. Dans notre cas nous allons utiliser le fédération ID.

What’s next ?

Terminons avec une interrogation …

Que se passera-t-il si l’utilisateur qui s’authentifie au niveau de l’IdP n’existe pas au niveau du SP ?

Tel sera l’objet du prochain article. Restez branchés !

--

--