0
如果我使用AWS Cognito用户池,可以指定用户的角色,然后检查此用户是否具有特定角色,例如。管理员,在他/她能够访问资源之前,例如。 API网关Cognito用户池的其他授权逻辑用户
如果我使用AWS Cognito用户池,可以指定用户的角色,然后检查此用户是否具有特定角色,例如。管理员,在他/她能够访问资源之前,例如。 API网关Cognito用户池的其他授权逻辑用户
您可以使用组Cognito用户池,并且用户在ADMINGROUP定制授权人确认:
if (payload['cognito:groups'] &&
payload['cognito:groups'][0] === 'adminGroup') {
admin = true;
}
这里的负荷是你的身份令牌得到什么。如果没有认知:组,则用户不在任何组中。
另一种选择是利用用户池中的自定义属性(授权人中的验证逻辑应与上述逻辑类似)。
其他解决方案也是可能的,但这些解决方案在用户池外部(例如跟踪外部数据库中的用户角色)。
无论是组还是自定义属性(或其他解决方案),您都必须验证自定义授权人中的用户角色。这样,请求将在API网关端点之前到达自定义授权人。如果用户应该是管理员,但他不是(不在adminGroup中或没有自定义属性'admin'),则在授权人中发出拒绝策略。
希望这回答你的问题。