如何访问AuthorizationHandler中的声明?

时间:2019-03-15 20:45:57

标签: asp.net-core identityserver4

我发现this资源可用于创建AuthorizationHandler,然后继续创建资源。我的处理程序检查字符串值given_name,如果given_name的值为"Bob",则授权成功。

问题所在,我无法访问given_name声明及其值。当我检查context.User时,可以看到所有预期的索赔,但是context.User.HasClaim(c => c.Type == ClaimTypes.GivenName)总是返回false。

如何检查索赔的存在并获得其价值?

更新-作为一种解决方法,我可以通过调用context.User.Claims上的.ToList()并在列表上使用.Any()来访问所有声明。可以,但是在任何示例中我都没有看到这种方法。

0 个答案:

没有答案