我想使用 Meta 和 Amazon Cognito 作为我的应用程序负载均衡器身份验证功能的身份提供者 (IdP)。
概述
要在用户访问您的应用程序时对其进行安全身份验证,请配置应用程序负载均衡器。要让您的应用程序专注于业务逻辑,请让负载均衡器对用户进行身份验证。后端目标仅运行其他业务逻辑或服务,例如用户资料和付款。应用程序负载均衡器仅负责身份验证步骤,不存储用户信息。配置 Amazon Cognito 和 Meta 以管理和验证用户身份。
解决方法
设置 Meta 应用程序
- 在 Meta 网站上访问面向开发者的 Meta。
- 在导航窗格中,选择我的应用程序。
- 选择创建应用程序。
- 选择允许用户使用 Facebook 帐户登录,然后选择下一步。
- 在详细信息页面上,输入以下信息:
在添加应用程序名称中,输入应用程序的名称。
在应用程序联系人电子邮件中,输入应用程序的电子邮件。
(可选)对于企业账户,请将企业账户与应用程序关联。
- 选择创建应用程序。
- 在导航窗格中,选择产品。
- 在产品页面上,对于 Facebook 登录,选择配置,然后选择快速入门。
- 完成以下步骤:
对于应用程序平台,请选择 Web。
在站点 URL 中,输入网站的域,选择保存,然后选择继续。
对于为 Javascript 设置 Facebook SDK,选择下一步。
在检查登录状态 中,选择下一步。
在添加 Facebook 登录按钮中,选择下一步。
要继续配置,必须设置 Amazon Cognito IdP。
配置应用程序负载均衡器和 Amazon Cognito
- 打开 Amazon Elastic Compute Cloud (Amazon EC2) 控制台。
- 创建应用程序负载均衡器
- 在导航窗格中的负载均衡下,选择负载均衡器。
- 选择您创建的应用程序负载均衡器。
- 选择侦听器,然后选择添加侦听器。
- 选择 HTTPS:443 或任何采用 HTTPS 协议的端口。
- 在操作中,选择身份验证。
- 选择 Amazon Cognito。
- 对于 Cognito 用户群体,选择新建。
- 对于社交 IDP,选择 Facebook。
- 在 Meta 网站上访问面向开发者的 Meta。
- 选择您创建的应用程序。
- 选择设置,然后选择常规。
- 记下应用程序 ID。
- 选择显示。
- 输入您的 Facebook 密码,然后选择应用程序密钥。
- 返回 Amazon EC2 控制台中的 Amazon Cognito 设置页面。然后,输入应用程序 ID 和应用程序密钥。
- 在授权范围中,输入 public_profile。
- 在域前缀下,选择一个唯一的名称以附加到 Amazon Cognito AWS 区域 DNS 服务。例如,如果您指定“abc”作为域前缀,则您的完全限定域名 (FQDN) 为 https://abc.auth.us-east-2.amazoncognito.com/。
- 选择创建 Cognito 用户群体。
- 输入您在上一步中指定的唯一名称。
- 向您的 HTTPS 侦听器添加规则。选择转发至,然后指定应用程序负载均衡器的目标组名称。
- 选择保存。
完成 Meta 应用程序设置
- 打开您创建的 Meta 应用程序。
- 在导航窗格中,选择产品。
- 在产品页面上,对于 Facebook 登录,选择配置,然后选择设置。
- 在客户端 OAuth 设置下,对于有效的 OAuth 重定向 URI,输入 Amazon Cognito FQDN。将 /oauth2/idresponse 作为后缀添加到 FQDN。例如,https://abc.auth.eu-west-1.amazoncognito.com/oauth2/idpresponse。
- 选择保存更改。
- 在导航窗格的设置下,选择基本。
- 对于应用程序域,输入指向您的应用程序负载均衡器的域名。
- 选择保存更改。
完成 Amazon Cognito 设置
- 打开 Amazon Cognito 控制台。
- 在导航窗格中,选择用户群体。
- 选择您配置的用户群体。
- 选择应用程序客户端设置。
- 在回调 URL 中,输入指向应用程序负载均衡器的域名。然后,添加 /oauth2/idpresponse 作为后缀。例如,https://www.example.com/oauth2/idpresponse。
**重要事项:**Facebook 是一个第三方应用程序。配置步骤可能会随着时间的推移而改变。有关最新更新,请参阅 Meta 网站上的 Meta 文档 。
相关信息
使用应用程序负载均衡器对用户进行身份验证
使用应用程序负载均衡器内置身份验证功能简化登录
Facebook(身份池)
使用社交 IdP 注册