我有一个场景,我的资源服务器 (RS) 可以连接到多个数据库并且它可以是多租户的。它有一个环境配置,我可以说:Env A 指向数据库 A,属于租户 A;env B指向数据库B,属于租户B;
我们的桌面应用程序将该信息存储在一个数据结构中,该数据结构在每次调用时发送到 RS,我们的 Web 应用程序将其存储在 ASP.NET 会话中。用户在登录时选择环境。
现在我们将 API 完全迁移到 REST 服务,并使用 IdentityServer4 使用 oAuth2 保护它们。
我需要将该环境值发送到 API,我认为这应该是访问令牌的一部分。
第一个问题是:这对吗?访问令牌可以包含这种信息吗?
第二个是:哪个是最好的 IdentityServer4 服务,我应该扩展它以将该值作为声明注入到访问令牌中,从而注入到 ClaimsPrincipal 中。
第三个是:有时我没有用户在登录时选择环境(例如客户端凭据授予)。在这种情况下,作为客户要求的正确对待环境是否正确?有没有办法让客户动态索赔?
对不起,很长的问题!
问候, 迪奥戈