I am having requirement to show personalized content for Logged-in user (external system) which have default persona attached to user profile and after logged-in need to show personalized content on the basis of default mapped user persona.
For example, 2 persona presents like A and B in Sitecore, and user mapped to persona A in CRM side, so content related to Persona A needs to be shown always after logged-in, not Persona B (persona needs not be changed while user active on site).
Sitecore persona's already created and Content also mapped.
For anonymous user I already verified both the personas in Sitecore JSS app and it's working fine.
With the help of custom controller in ASP.NET MVC, able to implement virtual login and creation of Sitecore contact.
Ask here are:
How to login via external IAM system, so that user context created in Sitecore including persona attribute (which contains Persona A or PersonaB) set to user profile for future use? In vanilla Sitecore we usually create Virtual user and setting the value like : profile.Persona = "Persona A"; where "Persona" is custom User Profile's attribute.
Is Sitecore contact would be automatically created after virtually login (Step-1) into Sitecore or need to write custom code (Server side or JSS code) to create Sitecore contact?
How to implement sign-out after logged-in and also how Sitecore contact become unknown?
The user profile already mapped to one persona e.g. Persona A in CRM system and getting these details after login. Now after login need to show only Persona A related content not Persona B ( if user falls after traversing required pages).
How the tracking of logged-in user will happen? Need to write custom code ( Server side or JSS code) as mentioned at Share Sitecore content to Native Mobile Apps (IOS swift and Android java)?
Any suggestions to implement above scenario?