0

我想就如何将自定义声明添加到用户身份的任何文章/文档寻求建议或指导。我正在进行的项目是使用 Azure B2C 和 Microsoft.Identity.Web。

我正在寻找一种在 Web 应用程序中的 Web 请求期间添加自定义声明的可靠方法。该声明将包含从应用程序数据库获得的权限。所以我还需要一种在请求之间存储该声明的方法,所以我不会在每个请求上都访问数据库。

存储在数据库中的角色和权限模型非常复杂和动态(由管理员管理),因此可以选择通过图形 API 在 B2C 中简单地存储自定义声明。

我正在考虑使用中间件进行声明转换:

  • Microsoft.Identity.Web 可以吗?还是我不应该这样做?

  • 仍然不确定如何在请求之间坚持声明 - 使用 Microsoft.Identity.Web 时是否有任何可靠的方法?

4

1 回答 1

0

如果您想在令牌中拥有权限,并且我认为这将是最佳方式,那么我会将用户对象中的权限保存为例如 Base64 编码的 JSON。您可以拥有相当复杂的结构,AAD B2C 只会在令牌中为用户返回。然后,一旦它到达你的 API,你就可以用这个值做你想做的事。它在令牌中,因此已正确签名,并且每次请求都会获得令牌,因此您无需考虑访问任何数据库。

于 2021-04-15T13:41:44.717 回答