Authenticate with AWS Cognito, I can get ID token including cognito:groups { admin, user}
.
From ASPNetCore Webapi, I can authorize using Policy (folows AWS tutorial 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")
));
});
It works when declaring Policy in my Controller [Authorize(Policy = "admin")]
. However my api uses roles instead.
Any way to do with [Authorize(Role = "admin")]
please?