【问题标题】:IProfileService and TenantIProfileService 和租户
【发布时间】:2019-02-06 18:48:19
【问题描述】:

我们支持多租户,其中用户可以属于多个租户,并且在每个租户中他可能有不同的角色, 客户端应用程序使用 acr_values 来传递租户信息。 基于此信息,需要在 Iprofileservice 中添加角色声明 请建议我该怎么做.. 我看到很多与同一主题相关的帖子,但没有一个包含完整信息 我正在使用 IdentityServer4。

【问题讨论】:

  • 任何更新?,需要在 iProfileService 中为租户获取 ACR_values

标签: identityserver4


【解决方案1】:

您也许可以从 ProfileDataRequestContext 上下文中经过验证的请求属性中获取 acr 值:

            string acr_values = context?.ValidatedRequest.Raw.Get("acr_values");

请注意,ValidatedRequest 可能为空,具体取决于所请求的端点。

【讨论】:

  • 我们正在从 oidc-client 传递 acr_values 中的租户,通过隐式流程,oidc-client 也会进行静默刷新,该值是否可用于静默刷新
  • 嗨,我在登录请求中获得了此详细信息,但在 UserInfo 端点上,这些值为空白。让我告诉你完整的场景,
  • 我在 ACR_Values 中获取 UseraccessId,基于此,我从数据库中获取一些信息,并与 UserAccessId 本身一起作为 cliam 添加到用户,用户可以拥有多个 UserAccessId 和特定 UserAccessId 需要的数据要返回。这一切都在 ProfileService 上工作,但是在 UserInfo 端点上,这个 ProfileService 被调用,并且由于 USerInfo 端点是从客户端库中自动调用的,所以我无法控制它,那么我怎样才能在那里设置 UserAccessId 的声明呢?
  • 问题已解决,如果在授权端点中添加声明,则无需在 userinfo 端点中添加它们,检查上下文的调用者属性并有条件地添加声明。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-05-14
  • 2018-05-07
  • 1970-01-01
  • 1970-01-01
  • 2018-06-14
  • 2015-04-16
  • 1970-01-01
相关资源
最近更新 更多