amazon-web-services - 如何使用 Facebook 验证 API Gateway 调用?

标签 amazon-web-services authentication amazon-cognito aws-api-gateway amazon-cognito-facebook

问题:我想使用 Facebook 身份验证授权我的 Amazon API Gateway 托管的 REST API 用户。

我的理解:我知道 Amazon Cognito 可用于对用户进行身份验证,称为联合身份。然后,我看到了Authenticate API Clients with Amazon Cognito Your User Pool ,它为 Cognito 用户池进行身份验证。我还找到了Use Amazon API Gateway Custom Authorizers , 从自定义授权中使用。但是,我没有发现使用 Cognito Federated Identities(即此处的 Facebook)链接 API 网关进行身份验证。我们可以使用与 User Pool 相同的程序吗?也适用于联合身份,或者我应该在 Custom Authorizers 中使用?
我有点困惑。任何帮助是极大的赞赏。

提前致谢。

最佳答案

Cognito 联合身份和 Cognito 用户池针对不同的用例。

使用 Cognito 用户池,您可以明确管理可以访问您的服务的用户。当您希望将 API 的访问权限限制为一组固定的用户时,这很有用。

借助 Cognito 联合身份,您可以将用户管理委派给 Facebook、Google 或 Amazon 等身份提供商。在这种情况下,具有您选择的身份提供者的用户身份的任何人都可以访问您的服务。当您希望使 API 广泛可用但仍需要将个人身份与 API 用户关联以管理每个用户的状态或资源时,这很有用。

要使用联合身份,请将 API Gateway 方法设置为使用“AWS_IAM”授权。您使用 Cognito 创建角色并将其与您的 Cognito 身份池相关联。然后,您使用身份和访问管理 (IAM) 服务授予此角色调用您的 API 网关方法的权限。

关于amazon-web-services - 如何使用 Facebook 验证 API Gateway 调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39184419/

相关文章:

amazon-web-services - 将数据从 Amazon S3 复制到 Redshift 并避免重复行

amazon-web-services - AWS SNS 发布到订阅的 Lambda 函数会记录空字段

.net - 如何使用.net Core设置AWS凭证

wordpress - 为负载均衡器(EC2)创建多个实例的正确方法

JSF 和容器管理的安全性

java - 使用 SPNEGO Web SSO 自动登录

c# - 什么是通用身份?

amazon-web-services - AWS Cognito 刷新 token : how to use them exactly?

javascript - 在哪里可以检索 Cognito 身份池的公钥?

reactjs - NextJS 13.4 与 aws amplify 身份验证器相关的问题