identityserver4 - IdentityServer4 在身份验证后添加租户声明
问题描述
我有一个多租户场景,其中一封电子邮件可以与多个租户相关联。
因此,我配置了一个AccountChooserResponseGenerator
继承自内置AuthorizeInteractionResponseGenerator
类的自定义。
用户进行身份验证后,UI 会正确地将用户转移到 Account Chooser 视图,该视图列出了与电子邮件地址关联的租户。这个想法是用户现在必须选择他/她想要登录的租户,然后被重定向到该租户的 URI。
但我的问题是我不知道如何在选择租户后将该租户 ID 作为声明添加到从 IdentityServer 传递给应用程序的令牌中(多个租户可以共享相同的 URL,所以我需要一些东西在令牌中知道哪个租户有上下文)。
因此,在该AccountChooserController.TenantSelected(long tenantId)
方法中,我希望能够将其添加tenantId
到用户声明中,但似乎不受支持。
请告知这是否可能,以及如何?
解决方案
调用时将租户信息放入 cookie SignInAsync
- 然后您可以从配置文件服务中检索它。
推荐阅读
- javascript - 在 JS 中使用“This”关键字的困难
- azure - Azure IO 传输
- postgresql - postgresql:基于具有多个值的数组字段值搜索记录
- android - 此应用未授权使用 FireBase 身份验证。请验证正确的包名称和 SHA 1 证书
- javascript - 如何将js变量中的值分配给php变量
- appium - 如何在 Appium 中从左向右滑动?
- javascript - 如何将按钮的值传递给 Flask Python 函数
- c++ - 在多线程函数中返回共享的 const 指针会导致计时问题
- python - Python:如何找到列表之间的相似性,然后找到第二个最相似的,然后是第三个,等等
- python-3.x - 在 Docker 镜像中安全地存储哈希