【发布时间】:2020-03-19 05:35:25
【问题描述】:
使用 AWS Cognito 进行身份验证,我可以获得包括cognito:groups { admin, user} 在内的 ID 令牌。
从 ASPNetCore Webapi,我可以使用 Policy 进行授权(遵循 AWS 教程 https://www.youtube.com/watch?v=M6qTrI7kmZk):
services.AddSingleton<IAuthorizationHandler, CognitoGroupAuthorizationHandler>();
services.AddAuthorization(options=> {
options.AddPolicy("admin", p => p.Requirements.Add(
new CognitoGroupAuthorizationRequirement("admin")
));
options.AddPolicy("user", p => p.Requirements.Add(
new CognitoGroupAuthorizationRequirement("user")
));
});
在我的控制器[Authorize(Policy = "admin")] 中声明策略时有效。但是我的 api 使用了角色。
请问[Authorize(Role = "admin")]有什么办法吗?
【问题讨论】:
标签: amazon-web-services asp.net-core-webapi amazon-cognito role-based-access-control