问题:我想使用 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/