如何使用 Meta 和 Amazon Cognito 作为身份提供者对应用程序负载均衡器用户进行身份验证?

2 分钟阅读
0

我想使用 Meta 和 Amazon Cognito 作为我的应用程序负载均衡器身份验证功能的身份提供者 (IdP)。

概述

要在用户访问您的应用程序时对其进行安全身份验证,请配置应用程序负载均衡器。要让您的应用程序专注于业务逻辑,请让负载均衡器对用户进行身份验证。后端目标仅运行其他业务逻辑或服务,例如用户资料和付款。应用程序负载均衡器仅负责身份验证步骤,不存储用户信息。配置 Amazon Cognito 和 Meta 以管理和验证用户身份。

解决方法

设置 Meta 应用程序

  1. 在 Meta 网站上访问面向开发者的 Meta
  2. 在导航窗格中,选择我的应用程序
  3. 选择创建应用程序
  4. 选择允许用户使用 Facebook 帐户登录,然后选择下一步
  5. 详细信息页面上,输入以下信息:
    添加应用程序名称中,输入应用程序的名称。
    应用程序联系人电子邮件中,输入应用程序的电子邮件。
    (可选)对于企业账户,请将企业账户与应用程序关联。
  6. 选择创建应用程序
  7. 在导航窗格中,选择产品
  8. 产品页面上,对于 Facebook 登录,选择配置,然后选择快速入门
  9. 完成以下步骤:
    对于应用程序平台,请选择 Web
    站点 URL 中,输入网站的域,选择保存,然后选择继续
    对于为 Javascript 设置 Facebook SDK,选择下一步
    检查登录状态 中,选择下一步
    添加 Facebook 登录按钮中,选择下一步

要继续配置,必须设置 Amazon Cognito IdP。

配置应用程序负载均衡器和 Amazon Cognito

  1. 打开 Amazon Elastic Compute Cloud (Amazon EC2) 控制台
  2. 创建应用程序负载均衡器
  3. 在导航窗格中的负载均衡下,选择负载均衡器
  4. 选择您创建的应用程序负载均衡器。
  5. 选择侦听器,然后选择添加侦听器
  6. 选择 HTTPS:443 或任何采用 HTTPS 协议的端口。
  7. 操作中,选择身份验证
  8. 选择 Amazon Cognito
  9. 对于 Cognito 用户群体,选择新建
  10. 对于社交 IDP,选择 Facebook
  11. 在 Meta 网站上访问面向开发者的 Meta
  12. 选择您创建的应用程序。
  13. 选择设置,然后选择常规
  14. 记下应用程序 ID
  15. 选择显示
  16. 输入您的 Facebook 密码,然后选择应用程序密钥
  17. 返回 Amazon EC2 控制台中的 Amazon Cognito 设置页面。然后,输入应用程序 ID应用程序密钥
  18. 授权范围中,输入 public_profile
  19. 域前缀下,选择一个唯一的名称以附加到 Amazon Cognito AWS 区域 DNS 服务。例如,如果您指定“abc”作为域前缀,则您的完全限定域名 (FQDN) 为 https://abc.auth.us-east-2.amazoncognito.com/
  20. 选择创建 Cognito 用户群体
  21. 输入您在上一步中指定的唯一名称。
  22. 向您的 HTTPS 侦听器添加规则。选择转发至,然后指定应用程序负载均衡器的目标组名称。
  23. 选择保存

完成 Meta 应用程序设置

  1. 打开您创建的 Meta 应用程序。
  2. 在导航窗格中,选择产品
  3. 产品页面上,对于 Facebook 登录,选择配置,然后选择设置
  4. 客户端 OAuth 设置下,对于有效的 OAuth 重定向 URI,输入 Amazon Cognito FQDN。将 /oauth2/idresponse 作为后缀添加到 FQDN。例如,https://abc.auth.eu-west-1.amazoncognito.com/oauth2/idpresponse
  5. 选择保存更改
  6. 在导航窗格的设置下,选择基本
  7. 对于应用程序域,输入指向您的应用程序负载均衡器的域名。
  8. 选择保存更改

完成 Amazon Cognito 设置

  1. 打开 Amazon Cognito 控制台
  2. 在导航窗格中,选择用户群体
  3. 选择您配置的用户群体。
  4. 选择应用程序客户端设置
  5. 回调 URL 中,输入指向应用程序负载均衡器的域名。然后,添加 /oauth2/idpresponse 作为后缀。例如,https://www.example.com/oauth2/idpresponse

**重要事项:**Facebook 是一个第三方应用程序。配置步骤可能会随着时间的推移而改变。有关最新更新,请参阅 Meta 网站上的 Meta 文档

相关信息

使用应用程序负载均衡器对用户进行身份验证

使用应用程序负载均衡器内置身份验证功能简化登录

Facebook(身份池)

使用社交 IdP 注册

AWS 官方
AWS 官方已更新 9 个月前