TL; DR 如何通过AWS Cognito 为经过身份验证/未经身份验证的用户提供对我的电影搜索API的访问权限,而无需将Cognito SDK嵌入到客户端?
AWS Cognito documentation声明您必须将客户端SDK部署到您的应用程序中。我想避免将我的API实现外部嵌入到特定的提供程序中。例如,将来我可能会使用Google Firebase或任何其他IdP。因此,我不想在客户端与Cognito进行深度集成。 将AWS Cognito(或任何IdP)与客户端隔离的推荐方法是什么?
答案 0 :(得分:1)
您可以为经过身份验证/未经身份验证的用户隐藏后端后面的Cognito服务。这带来了一些挑战。
答案 1 :(得分:0)
一个选择是:
在APIGateway中将您的API部署为http(s)代理。
添加APIGateway资源策略以允许通过IAM角色进行操作
使用承担IAM角色的经过身份验证的用户创建Cognito用户池
将APIGateway作为资源服务器添加到Cognito用户池
允许用户通过aws cli登录并获取访问令牌
在对APIGateway端点的调用中使用访问令牌