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

时间:2017-12-05 11:57:28

标签: amazon-web-services lambda amazon-cognito aws-cognito

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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