首页 文章

将自定义授权逻辑与AWS Cognito身份验证配合使用

提问于
浏览
0

我们有一个Cognito用户池,其中包含我们希望允许访问API的用户 . 我们的API使用Lambda函数来为 endpoints 提供服务 . Cognito池配置了自定义字段 roles ,它实际上是用户拥有的以逗号分隔的角色列表 .

现在,首先,我们希望进行Cognito身份验证(以确定用户是否属于我们的池并且凭据有效) . 然后,我们想要运行我们的自定义逻辑运行,它将查看它将通过声明接收的 roles 字段,然后根据内部业务逻辑允许或拒绝请求 .

我们尝试使用自定义授权程序来实现此逻辑,并将其设置为我们的 endpoints 的授权程序 . 然后,我们为此授权程序功能启用了Cognito授权 . 问题是,由于Cognito本身保护API endpoints 而不保护lambda函数,因此当命中API endpoints 并调用自定义授权器时,Cognito授权就不会运行 .

我们如何实现使用Cognito授权使用自定义逻辑的目标?在这方面的任何帮助将受到高度赞赏 .

1 回答

  • 0

    用户令牌中的所有声明都可以在上下文中使用,如果您在 $context.authorizer.claims.property 下使用了cognito授权者,则可以将该声明传递给您的lambda函数并检查角色是否存在于您的开头lambda为你工作?

相关问题