AWS Cognito 基于角色的授权
Role-based authorization for AWS Cognito
感谢新发布module; AWS Cognito 现在是 ASP.NET 核心身份提供商。
通过[Authorize(Roles= "{Role}")]
进行基于角色的授权会很好;但是目前它不起作用;部分原因可能是因为认知 (groups/roles) 被映射到 cognito:groups
声明。
有没有办法让它工作?
(除了编写自定义策略)
也提交了一个问题:https://github.com/aws/aws-aspnet-cognito-identity-provider/issues/86
其他参考资料:
我知道这是旧的,但我只是在没有自定义授权者的情况下设法让它工作。
我的页面 class 定义为:
[Authorize(Roles = "admin")]
public class MyClass : PageModel
{
...
}
“admin”的大小写似乎很重要(注销也有类似问题 URL - 发现它必须是小写)。最初我将其设置为“管理员”,但没有用。
在您设置“TokenValidationParameters”的“startup.cs”文件中,您设置了“RoleClaimType”。
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = authOptions.Value.TokenValidationParameters.ValidateIssuer,
RoleClaimType = "cognito:groups"
};
感谢新发布module; AWS Cognito 现在是 ASP.NET 核心身份提供商。
通过[Authorize(Roles= "{Role}")]
进行基于角色的授权会很好;但是目前它不起作用;部分原因可能是因为认知 (groups/roles) 被映射到 cognito:groups
声明。
有没有办法让它工作? (除了编写自定义策略)
也提交了一个问题:https://github.com/aws/aws-aspnet-cognito-identity-provider/issues/86
其他参考资料:
我知道这是旧的,但我只是在没有自定义授权者的情况下设法让它工作。
我的页面 class 定义为:
[Authorize(Roles = "admin")]
public class MyClass : PageModel
{
...
}
“admin”的大小写似乎很重要(注销也有类似问题 URL - 发现它必须是小写)。最初我将其设置为“管理员”,但没有用。
在您设置“TokenValidationParameters”的“startup.cs”文件中,您设置了“RoleClaimType”。
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = authOptions.Value.TokenValidationParameters.ValidateIssuer,
RoleClaimType = "cognito:groups"
};