IdentityServer4在身份验证后添加租户声明

时间:2018-08-02 20:11:45

标签: identityserver4

我有一个多租户方案,其中一封电子邮件可以与多个租户关联。

因此,我已经配置了一个自定义AccountChooserResponseGenerator,它是从内置AuthorizeInteractionResponseGenerator类继承的。

用户进行身份验证后,UI会将用户正确地转移到“帐户选择器”视图,该视图列出了与电子邮件地址相关联的租户。这样的想法是,用户现在必须选择他/她要登录的租户,然后将其重定向到该租户的URI。

我的问题是,我无法弄清楚选择租户后如何将该租户ID作为声明添加到从IdentityServer传递到应用程序的令牌中(多个租户可以共享相同的URL,因此我需要令牌中的内容才能知道哪个租户具有上下文。

因此,在AccountChooserController.TenantSelected(long tenantId)方法中,我希望能够将此tenantId添加到用户声明中,但似乎不支持此功能。

请告知这是否可行以及如何?

1 个答案:

答案 0 :(得分:0)

调用SignInAsync时,将租户信息放入cookie中-然后您可以从个人资料服务中检索它。