inb*_*thu 10 authentication amazon-web-services amazon-cognito aws-api-gateway amazon-cognito-facebook
问题:我想使用Facebook身份验证授权我的Amazon API Gateway托管REST API用户.
我的理解:我知道Amazon Cognito可用于验证用户身份,称为联合身份.然后,我看到使用Amazon Cognito您的用户池验证API客户端,该客户端对Cognito用户池进行身份验证.我还发现使用Amazon API Gateway自定义授权器可以使用自定义授权.但是,我没有找到链接API网关使用Cognito Federated Identities(即Facebook这里)进行身份验证.我们是否可以使用与联合身份用户池相同的过程,还是应该像在自定义授权人中那样使用?我有点困惑.任何帮助是极大的赞赏.
提前致谢.
Mik*_*AWS 12
Cognito联合身份和Cognito用户池可以解决不同的用例.
使用Cognito用户池,您可以明确管理可以访问您的服务的用户.当您想要将API的访问权限限制为固定的一组用户时,这非常有用.
使用Cognito联合身份,您可以将用户管理委派给身份提供者,例如Facebook,Google或Amazon.在这种情况下,拥有所选身份提供者用户身份的任何人都可以访问您的服务.当您希望广泛使用API时,这非常有用,但仍需要将各个身份与API用户相关联,以便管理每个用户的状态或资源.
要使用联合身份,请将API网关方法设置为使用"AWS_IAM"授权.您可以使用Cognito创建角色并将其与Cognito身份池关联.然后,您可以使用身份和访问管理(IAM)服务授予此角色调用API网关方法的权限.