.net core 3.1 中是否有内置方法来验证请求中存在的 JWT 令牌是否具有必需的范围。
我已经从身份服务器获得的 jwt 数据示例:
{
"user_id": "12345",
"scope": "test1"
}
但这特定于 azure-ad,它要求将 Scope 声明命名为“scp”而不是“scope”。
是的,您可以通过定义各种策略来配置授权处理程序,以根据访问令牌中提供的数据控制对 API 的访问。
请参阅 https://learn.microsoft.com/en-us/aspnet/core/security/authorization/policies?view=aspnetcore-6.0 了解更多详细信息。
使用基于策略的方法,我们可以更好地分离代码和授权逻辑: