我正在使用OpenIDDICT和ASPNET CORE 2.0身份。我已经配置了(目前)使用密码流(资源所有者密码凭据授予)。我制作的客户是一个角度的水疗中心。我控制了客户端和服务器。
我目前正在编码自定义授权器,并且到目前为止运行良好。
但是,我有点担心我的主张。我安全的WebAPI方法装饰有授权属性
[Authorize(AuthenticationSchemes = AuthValidationDefaults.AuthenticationScheme)]
从我的理解中,如果我在授权中添加策略,我得到的上下文与控制者的上下文相同。它具有我可以调用的"用户"属性," hasclaims"。
我已经在我的校长中添加了一些"许可"类型主张,并且确实出现了。
这个索赔机构是仅仅通过解码从水疗中心传递的载体令牌而构建的?如果是这样,似乎确实不安全地信任此索赔列表来做任何服务器端...但是,携带者令牌是access_token,而不是ID_Token,不能简单地在https://jwt.io/上解码。/p>
我可以使用usermanager/rolemanager来获取我的所有索赔,服务器端,以登录用户,然后使用该列表进行对抗。但是,我担心可能的性能问题...
所以,我想知道我的控制器的索赔(作为用户属性)是否可信赖,或者我是否应该自己获得索赔。
所以,我想知道我的控制器的索赔普通(作为用户属性)是否可信。
是。默认情况下,OpenIDDICT使用ASP.NET核心数据保护和ASP.NET Core提供的身份验证票务序列化机(Cookie Muiddrware使用的同样的身份验证cookies)来创建并验证其访问令牌。
这些令牌是加密和hma的,因此攻击者无法更改其内容。有关更多信息,您可以阅读https://learn.microsoft.com/en-us/aspnet/core/security/data-protection/introduction.