Mein Gedanke war, dass ich beim Wechsel des Mandanten einfach ein ChallengeResult() anbieten und dies dann in IdentityServer verarbeiten kann, um zu überprüfen, auf welchen Mandanten der Benutzer zugreifen möchte, und dann ein neues Token mit dem Anspruch „ChosenTenant“ (oder etwas Ähnliches) auszustellen das). Etwa so:
Code: Select all
var authProps = new AuthenticationProperties();
authProps.SetString("CurrentTenantId", response.Result.Id.ToString());
authProps.RedirectUri = "/#home";
return new ChallengeResult(authProps);
Code: Select all
public async Task GetProfileDataAsync(ProfileDataRequestContext context)
{
var sub = context.Subject.FindFirst("sub").Value;
context.IssuedClaims = await _userStore.GetClaimsForUser(sub, context.RequestedClaimTypes, context.Client.ClientId);
return;
}
Oder mache ich das vielleicht falsch?
Mobile version