asp.net core / openiddict & client spa 自定义权限授权

asp.net core / openiddict & client spa Authorization with custom permissions

我需要一些帮助来了解基于令牌的身份验证的一两件事。 我的设置是一个后端 asp.net 核心应用程序,带有用于令牌身份验证的 openiddict。到目前为止一切正常——我现在需要添加用户权限。我会有很多(例如,用户可以查看 xy,用户可以编辑 xy,用户可以删除 xy,具有许多不同的 xy 组件)。到目前为止后端运行良好,我现在的问题是:如何通过令牌向我的客户端应用程序获取这些权限..

感谢您的帮助!

As far as I understood these are not classical "claims" as a claim would describe "who" you are rather "what you are allowed to do" . Right?

理论上,没有什么能阻止您将权限表示为声明,就像您对角色或任何其他声明所做的那样。但在实践中,它很少是最好的方法,因为用户可以执行的操作数量通常很重要(而且通常是无限的:用户 A 可以更新产品 124 吗?还有这个其他产品?)。

一种可能的替代方法是在不允许用户执行特定操作时捕获 API 返回的 403 响应,以便您可以显示适当的错误消息。另一种方法是创建一个 API 端点,根据您自己的策略动态确定是否允许用户执行操作。

Second thing: Do I need to validate the token (signature) in my case? Every Api-request ist validated at server side, so basically I don't need to care if my client side permissions are tempered with, right? (As they are only for UI-Display purposes)

访问令牌和身份令牌都经过数字签名,因此不能(至少,不容易)被篡改。您不需要自己验证签名,因为它已经由 validation/JWT 中间件完成。