Working with Users in Multiple Tenants

Individual Platform Users can belong to more than one Development Team or Tenant Account (please note that this functionality will not be available if Account-Level Federationis enabled).  When a User has a subscription to an application through more than one Tenant, they will be prompted to select under which Tenant Account they would like to access the application (with entitlements and securables corresponding to those granted to the User  by the selected Tenant).  The following shows such a disambiguation prompt for the Account Portal:

To facilitate switching among Tenant Accounts, the Developer Portal will display a Change Dev Team link respectively if a User has entitlements to the Developer Portal under more than one Tenant (Dev Team):

Likewise, a Change Account link will appear in the Account Portal if a User belongs to more than one Tenant.

As needed, a similar link can be added to .NET Guest Applications using the following API endpoints:

C# Example

//The following returns a Uri to the Account disambiguation prompt
var tenantSelectUrl = ApplicationContext.Current.TenantSelectionPageUrl(HttpContext.Current.Request.UrlReferrer).ToString();

//The following returns a true/false value regarding whether the user entitlements to the current application under multiple tenants
var userHasMultipleEntitlements = ApplicationContext.Current.UserHasMultipleEntitlements;

Note that the Platform also requires that a specified Account be listed for Users belonging to more than one Tenant when connecting to an environment in the Apprenda Cloud Shell or authenticating through the REST API.