【发布时间】:2019-11-08 16:27:44
【问题描述】:
我正在使用新的 React 模板,它是 .NET Core 3 版本的一部分。该模板使用Microsoft.AspNetCore.ApiAuthorization.IdentityServer 集成了 ASP.NET Core Identity、IdentityServer 和 React,用于用户注册、身份验证和授权。
这对于简单的场景非常有效,但我发现用于更复杂场景的文档令人困惑。这主要是因为现在有很多不同的齿轮,很难弄清楚在哪里看。
我想要做的是:我想向用户添加一个自定义声明(例如,IsAdmin: true)。此声明应在 ApiController 中的 .NET Core HttpContext 中可用(作为用户声明主体的一部分)用于身份验证,并且它应该是 React 可以读取此声明的地方(这可能是 identitytoken/jwt),以提供良好的用户体验。
什么是完成此任务的好方法?
【问题讨论】:
-
您是否希望声明也出现在访问令牌中?
-
@AparnaGadgil 这可能是最好的。我认为这是在当前请求的用户主体中获取它的最简单方法,对吧?
-
是的,正确!我在下面添加了我的答案以获得访问代码中的自定义声明。
-
嗨尼克,只是想知道你是否设法解决了这个问题。我在尝试解决如何将自定义声明或角色声明添加到客户端时遇到完全相同的问题?
-
有关更多背景信息,请查看答案here。
标签: c# asp.net-core identityserver4 asp.net-core-identity