Je souhaite afficher différents écrans en fonction de lapplication connectée utilisée pour se connecter à Salesforce. Le flux de connexion peut-il savoir quelle application connectée est utilisée?

Il existe plusieurs variables de flux de connexion que nous pouvons exploiter, mais aucune de celles-ci ne contient lapplication connectée.

Aucune des propositions suivantes ne semble utile pour ce scénario ( source ):

  • LoginFlow_LoginType – Cette variable vous permet de désigner un type dutilisateur pour Flow / Org.
  • LoginFlow_IpAddress – Cette variable agit comme ladresse IP dun utilisateur. Grâce à cette variable, vous avez le pouvoir de déléguer une adresse IP pour un utilisateur, un profil et dautres champs liés à lutilisateur.
  • LoginFlow_UserAgent – Cette variable correspond à la chaîne de navigation de lutilisateur. Il vous permet également dempêcher les utilisateurs dutiliser Internet
    Explorer pour se connecter à votre organisation.
  • LoginFlow_Platform – Cette variable vous montre à partir de quel type de système (cest-à-dire Mac OSX) vos utilisateurs se connectent.
  • LoginFlow_Application – Similaire à la variable ci-dessus; cependant, il indique le type dappareil à partir duquel vos utilisateurs se connectent (par exemple, iPhone, tablette, ordinateur de bureau, etc.) afin que vous sachiez vers quel emplacement final les déplacer.
  • LoginFlow_Community – Cette variable montre dans quelle communauté votre utilisateur se trouve actuellement, le cas échéant. LoginFlow_SessionLevel – Cette variable est responsable de la sécurité et fonctionne avec une assurance élevée ou standard.
  • LoginFlow_UserId – Cette variable fonctionne pour afficher les ID de caractères (jusquà 18 caractères de long) et vous permet également de rechercher vos utilisateurs et de rechercher dans le système des champs similaires.

Commentaires

  • Un seul utilisateur sera-t-il affecté pour se connecter à votre organisation à partir de plusieurs applications connectées? En outre, se connecteront-ils en utilisant SSO ou utiliseront-ils leur UserId / PW?
  • Oui, ils peuvent utiliser plusieurs applications connectées pour se connecter. Salesforce est le fournisseur didentité. Il peut donc utiliser son nom dutilisateur / mot de passe Salesforce ou ses fournisseurs dauthentification Facebook ou Google.
  • Cela sapplique-t-il à TOUS les utilisateurs (interne & externe ) ou uniquement pour les utilisateurs de la communauté? Ne serait-ce quaux utilisateurs de la communauté, je peux fournir une solution. Si pour tous les utilisateurs, vous navez peut-être pas de chance.
  • Seuls les utilisateurs de la communauté. Nous utilisons la licence de connexion communautaire pour IdP

Réponse

Vous avez peut-être de la chance. Il existe quelque chose appelé ExperienceID ou expid qui pourrait potentiellement être utilisé pour faire ce que vous voulez réaliser. Son objectif principal est de pouvoir personnaliser « lexpérience de marque » pour les clients en fonction sur lendroit doù ils sont envoyés à votre communauté.

Pour en savoir plus, lisez ce lien vers le Guide de mise en œuvre de lidentité externe Salesforce et également en lisant Modifiez lexpérience de connexion de vos utilisateurs avec la marque dynamique à partir des notes de version de Winter 18 . Si vous associez chaque application connectée à un , il me semble que vous pourriez lutiliser pour accomplir ce que vous voulez avec vos applications connectées en attribuant à chaque application un expid unique.

LExperienceID peut ensuite être utilisé pour étendre un point de terminaison en utilisant lune des deux stratégies suivantes, comme indiqué ci-dessous.

Étendez les points de terminaison suivants avec expid_value.

  • community-url / services / oauth2 / authorize / expid_value
  • community-url / idp / endpoint / HttpPost / expid_value
  • community-url / idp / endpoint / HttpRedirect / expid_value

Étendez les points de terminaison suivants avec expid = {value}.

  • community-url_login_page? Expid = {value}
  • community-url / CommunitiesSelfReg? Expid = {value}
  • community-url / .well-known / auth-configuration? expid = {value}

Passez une valeur expid différente à la page dauto-enregistrement pour fournir un flux denregistrement différent pour chaque brand.

La valeur de lID dexpérience est capturée dans un cookie plutôt que dans lURL. Par exemple, si expid_value est défini sur Clients, un cookie associé a la valeur expid_Customers.

Commentaires

  • réponse assez astucieuse
  • La question leur revient à  » comment accéder à lexpid dans un flux de connexion?  »
  • @FernandoGavinho Cela dépend si vous ‘ lavez passé dans un cookie ou dans le cadre de la valeur expid qui peut être conservée dans un utilisateur de communauté Profil de ‘. Vous pouvez également lutiliser comme paramètre de début pour votre flux de connexion puisque vous ‘ lavez utilisé pour étendre le point de terminaison de connexion.Il semblerait que vous ‘ avez de nombreuses options en fonction de la façon dont vous le transmettez à partir de votre application connectée.
  • Dans mon cas dutilisation, jutilise le point de terminaison SSO  » URL de la communauté / idp / endpoint / HttpPost / expid_value « . Cependant, je ne sais ‘ comment accéder à cette valeur dans le flux. Je pourrais si cétait une page visualforce, mais y a-t-il un moyen dy accéder sur le flux? Peut-être nommer une variable pour lentrée uniquement? Jai essayé  » expid  » et  » ExpId « , mais cela ne semble pas fonctionner.
  • Je lai trouvé. Pour accéder à expId dans le flux de connexion, vous devez appeler la méthode System.Site.getExperienceId (). Cela peut être fait dans le contrôleur si ‘ une page Visualforce ou dans un InvocableMethod si ‘ un flux visuel.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *