我正在开发一个web应用程序,用户可以使用他们的个人电子邮件地址登录/注册,或者使用Facebook/Twitter等联合身份登录。我已经为它们设置了Cognito用户池和身份池。
登录成功后,将调用API网关上托管的API来显示应用程序上的一些数据。我希望为每个API调用实现授权,并仅为授权用户返回响应。
我已经在API Gateway中创建了User Pool Authorizer,并且能够根据Id令牌对在userpool中创建的用户进行身份验证。
据我所知,要对身份池中的用户进行身份验证,我可以在Api网关中使用AWS_IAM。对于我的应用程序,AWS_IAM可能不是正确的解决方案,因为用户池和身份池中的用户都可以调用它。
我正在考虑通过使用Lambda函数的自定义授权来实现身份验证。
如果必须实现自定义授权程序,那么基于会话令牌验证策略文档是否足以验证来自用户池/身份池的用户?如果有的话,请推荐自定义授权的替代方案。
提前感谢
发布于 2017-05-24 23:39:12
你看过这篇博文吗?https://aws.amazon.com/blogs/mobile/integrating-amazon-cognito-user-pools-with-api-gateway/
可以直接集成您的Cognito用户池令牌作为API Gateway的授权者,它极大地简化了您所描述的流程。
https://stackoverflow.com/questions/44163477
复制