我正在开发一个Web应用程序,用户可以使用他们的个人电子邮件地址登录/注册,也可以使用Facebook / Twitter等联合身份登录 . 我已为此设置了Cognito用户池和标识池 .
成功登录后,将调用API网关上托管的API以在应用程序上显示一些数据 . 我想为每个API调用调用实现授权,并仅为授权用户返回响应 .
我在API网关中创建了用户池授权程序,我可以根据Id令牌验证在用户池中创建的用户 .
根据我的理解,要从身份池中验证用户,我可以在Api Gateway中使用AWS_IAM . AWS_IAM可能不适合我的应用程序,因为用户可以在用户池和身份池中调用API .
我正在考虑使用Lambda函数使用Custom Authorizer实现身份验证 .
如果必须实现自定义Authorizer,那么基于会话令牌验证策略文档是否足以验证来自Userpool / Identity Pool的用户?如果有的话,请建议自定义授权的替代方案 .
提前致谢
1 回答
你看过这篇博文吗? https://aws.amazon.com/blogs/mobile/integrating-amazon-cognito-user-pools-with-api-gateway/
可以直接将Cognito用户池令牌集成为API Gateway的授权者,它可以简化您所描述的流程 .