Chci zobrazit různé obrazovky podle toho, která připojená aplikace se používá k přihlášení do Salesforce. Může tok přihlášení nějak vědět, která připojená aplikace se používá?

Existuje několik proměnných toku přihlášení , které můžeme využít, ale žádná z nich neobsahuje připojená aplikace.

Žádná z následujících možností se pro tento scénář nezdá užitečná ( zdroj ):

  • LoginFlow_LoginType – tato proměnná umožňuje určit typ uživatele pro Flow / Org.
  • LoginFlow_IpAddress – tato proměnná funguje jako IP adresa uživatele. Prostřednictvím této proměnné máte pravomoc delegovat IP adresu pro uživatele, profil a další pole související s uživateli.
  • LoginFlow_UserAgent – tato proměnná funguje jako řetězec prohlížeče uživatele. Umožňuje vám také zabránit uživatelům v používání aplikace Internet
    Explorer k přihlášení do vaší organizace.
  • LoginFlow_Platform – tato proměnná ukazuje, ze kterého systému (tj. Mac OSX) se vaši uživatelé přihlašují.
  • LoginFlow_Application – obdoba výše uvedené proměnné; Ukazuje však, z jakého zařízení se uživatelé přihlašují (tj. iPhone, tablet, počítač atd.), abyste věděli, do jaké cílové polohy je přesunout.
  • LoginFlow_Community – tato proměnná ukazuje, v jaké komunitě se váš uživatel aktuálně nachází, pokud je to možné. LoginFlow_SessionLevel – Tato proměnná je zodpovědná za bezpečnost a funguje buď ve vysoké nebo standardní jistotě.
  • LoginFlow_UserId – tato proměnná slouží k zobrazení ID znaků (až 18 znaků dlouhých) a také vám umožňuje vyhledat vaše uživatele a prohledat systém a vyhledat podobná pole.

Komentáře

  • Bude přiřazen jeden uživatel, který se bude přihlašovat k vaší organizaci z více než jedné připojené aplikace? Budou se také přihlašovat pomocí jednotného přihlášení nebo budou používat své UserId / PW?
  • Ano, k přihlášení mohou použít více připojených aplikací. Salesforce je poskytovatel identity, takže mohou používat své uživatelské jméno / heslo pro Salesforce nebo Facebook nebo Google Auth Providers.
  • Platí to pro VŠECHNY uživatele (interní & externí ) nebo pouze pro komunitní uživatele? Pokud pouze uživatelům komunity, mohu poskytnout řešení. Pokud pro všechny uživatele, můžete mít smůlu.
  • Pouze uživatelé komunity. Pro IdP používáme licenci pro přihlášení do komunity

Answer

Možná máte štěstí. Existuje něco, čemu se říká ExperienceID nebo expid, které by potenciálně mohly být použity k tomu, čeho chcete dosáhnout. Jeho primárním účelem je být schopen přizpůsobit „branding“ pro zákazníky podle odkud jsou odesílány do vaší komunity.

Další informace o tom získáte přečtením tohoto odkazu na Průvodce implementací externí identity Salesforce a také přečtením Změňte své uživatelské zkušenosti s přihlášením pomocí Dynamic Branding z poznámek k vydání Winter 18 . Pokud přidružíte každou připojenou aplikaci k jiné expid, zdá se mi, že byste jej mohli použít k dosažení toho, co chcete, s vašimi Připojenými aplikacemi tak, že každé aplikaci přiřadíte jedinečný expid.

ExperienceID lze poté použít k rozšíření koncový bod pomocí jedné ze dvou různých strategií, jak je uvedeno níže.

Následující koncové body rozšiřte o expid_value.

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

Rozšířit následující koncové body o expid = {value}.

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

Předejte jinou hodnotu expid na stránku samoregistrace a pro každou z nich poskytněte jiný tok registrace značka.

Hodnota ID zážitku je zachycena spíše v souboru cookie než v adrese URL. Pokud je například hodnota expid_value nastavena na hodnotu Customers, přidružený soubor cookie má hodnotu expid_Customers.

Komentáře

  • docela chytrá odpověď
  • otázka, která jim přijde " jak přistupovat k expidovi v toku přihlášení? "
  • @FernandoGavinho Záleží na tom, zda jste jej ' předali v souboru cookie nebo jako součást expid hodnoty, kterou lze v uživateli komunity uložit ' s profil. Můžete jej také použít jako počáteční parametr pro tok přihlášení, protože jste ho ' použili k rozšíření koncového bodu přihlášení.Zdá se, že ' d máte mnoho možností v závislosti na tom, jak jej předáte z připojené aplikace.
  • V mém případě použití používám koncový bod SSO " community-url / idp / endpoint / HttpPost / expid_value ". Nicméně ' nevím, jak v toku získat přístup k této hodnotě. Mohl bych, kdyby to byla stránka Visualforce, ale existuje způsob, jak k nim přistupovat na toku? Možná pojmenování proměnné pouze pro vstup? Zkusil jsem " expid " a " ExpId ", ale zdá se, že nefunguje.
  • Nalezeno. Pro přístup k expId v toku přihlášení musíte zavolat metodu System.Site.getExperienceId (). To lze provést v řadiči, pokud ' sa stránka Visualforce nebo v InvocableMethod, pokud ' sa vizuální tok.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *