【发布时间】:2020-03-28 22:57:03
【问题描述】:
我正在使用 Angular + Serverless (AWS) 开发应用程序。
我是 AWS 的新手,我正在尝试了解如何实施身份验证和授权。我知道 AWS 有 Cognito 用户池(用户目录)和 Cognito 身份提供者(用于身份验证),但我不知道如何将它们配置到我的用例中。
我想实现一个细粒度的授权机制。 在这个授权机制中,我将拥有权限,每个功能(例如显示用户、添加用户、更新用户、删除用户等)和包含权限集合的角色(例如免费、高级、管理员等) .
应为每个用户分配一个角色并获得该角色的权限。在 Angular 应用程序中,我想查看这些权限以启用或不启用相应的功能(例如,如果用户有权添加用户,则显示添加按钮)。
通过这种方式,我可以动态更改角色的权限,这会自动反映用户可以做什么,而无需对 Angular 应用程序进行任何更改。
我习惯于使用 Spring Security 来实现这一点,其中每个功能都是一个角色(例如 ROLE_ADD_USER),并且它们被分组在角色组中(例如 GROUP_ADMIN)。这样,用户被分配到一个角色组,并且在登录期间,除了访问令牌之外,我还返回用户的所有角色(权限)。
谁能帮我弄清楚如何使用 AWS Cognito 和 IAM 来实现这一点?
【问题讨论】:
标签: angular amazon-web-services amazon-cognito serverless-framework serverless