使用 identityserver4 的多组织解决方案

Posted

技术标签:

【中文标题】使用 identityserver4 的多组织解决方案【英文标题】:Multi-organization solution with identityserver4 【发布时间】:2021-12-24 08:34:47 【问题描述】:

我有以下设置:

IdentityServer4 使用 asp.net 核心身份 帐户应用程序 - 用户可以在其中编辑其帐户数据并进行注册 门户 - 用户可以登录并选择他们连接到的组织(与 azure devops 中相同) 门户使用的 API

有没有人有设置类似的经验?我的问题是如何在 API 级别授权调用,以确保他只编辑属于他的组织的实体。

谢谢!

【问题讨论】:

【参考方案1】:

一种方法是在每个不记名令牌中使用租户声明,这样当用户更改门户上的组织时(如果一个用户可以访问多个组织),您可以重新登录到所选租户,或者只是请求一个新的访问令牌,里面有一个选定的tenant_id。

您可以使用 this 和 this 答案作为参考,了解如何将自定义参数(例如租户 ID)与您的请求一起传递给 Identityserver。

【讨论】:

谢谢!完成了这项工作:)

以上是关于使用 identityserver4 的多组织解决方案的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 8:在空的多对多关系中使用枢轴时出错

gradle 中项目的多目录组织形式

如何使用 IdentityServer4 访问令牌和 [Authorize] 属性

IdentityServer4 的用户注册过程

IdentityServer4入门二

使用 IdentityServer4 对 Web API 进行基于角色的授权