通过AWS Cognito进行Facebook身份验证

时间:2018-04-24 21:21:59

标签: facebook authentication oauth-2.0 amazon-cognito facebook-authentication

我有一个AWS Cognito用户池设置为将身份验证联合到Facebook和Google。它适用于谷歌,而不是Facebook。

Authentication screen

当我点击"继续使用Facebook"时,网址会更改为" https://m.facebook.com"并且页面显示"无法加载网址:此网址的域名未包含在应用程序的域中。要加载此网址,请将应用的所有域和子域添加到应用设置中的应用域名字段。"

我发现这令人费解,因为我相信我已经正确配置了此错误引用的设置。

这是我在Facebook的开发者控制台中的应用设置,已设置应用域。它具有格式<domain prefix>.auth.<aws region>.amazoncognito.com以匹配AWS Cognito用户池的托管UI。

enter image description here

这是我的应用在Facebook开发者控制台中的OAUTH设置。请注意,这些网址是以https://为前缀的应用领域,并且在其附加oauth2/idresponse的两个网址之一中,以防万一,因为Cognito似乎至少在联合Google时附加了这个网址

enter image description here

此Facebook应用程序还在FB开发者控制台中设置了一个网站,如下所示:

enter image description here

我已按照AWS文档将Cognito用户池联合到Facebook可用here

Facebook app状态为&#34; Off:In Development&#34;。我认为这是可以接受的,应用程序尚未准备好公开可用但我需要能够测试身份验证。

1 个答案:

答案 0 :(得分:0)

来自文档https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-configuring-federation-with-social-idp.html。您应将网站网址添加为https:// {your-user-pool-domain} / oauth2 / idpresponse

第9步:在“网站”下,将带有/ oauth2 / idpresponse端点的用户池域键入“网站URL”。

https://<your-user-pool-domain>/oauth2/idpresponse