我发现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()来访问所有声明。可以,但是在任何示例中我都没有看到这种方法。