【发布时间】:2018-08-08 02:35:58
【问题描述】:
我们目前有一个使用 Identityserver4 2.0 构建的身份服务器。我们正在向我们的 API 添加一些政策指南。看了很多教程,主要是这个Policy-Based Authorization in ASP.NET Core
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddAuthorization(options =>
{
options.AddPolicy("RequireElevatedRights", policy => policy.RequireRole("SuperAdministrator", "ChannelAdministrator"));
});
}
[Authorize(Policy = "RequireElevatedRights")]
public class ChannelAdministrationController: Controller
{
}
我认为我们对如何做到这一点有一些误解。据我了解,我们的 API 将检查当前用户的授权并围绕它制定政策。基本上我们正在检查用户在标头中发送的令牌是否正确?
我的问题是用户是否在创建令牌后更改了权限。鉴于访问令牌有效期为 1 小时并且刷新令牌不会过期。这是否意味着拥有有效令牌的用户仍然可以在一个小时内访问东西?
我们如何确保当前经过身份验证的用户实际上仍然有权执行声明中的操作?
【问题讨论】:
-
这就是为什么将权限放入令牌是一个坏主意(除其他外)。 policyserver.io
-
@leastprivilege 看到这就是我们一直在等待的我还没有看到你们上传了开源项目。
标签: security asp.net-core oauth permissions identityserver4