同时使用用户名和Facebook进行AWS Cognito登录?

gamecraftCZ

我希望我的用户能够使用用户名+密码登录名或Facebook登录名,然后再在其中添加用户名。我应该如何设置Cognito才能使其正常工作?

当我将用户名设置为主要登录选项时,由于以下原因,我无法将Facebook添加到身份提供程序:

The attribute mapping is missing required attributes [birthdate, gender, name, nickname] (Service: AWSCognitoIdentityProviderService; Status Code: 400; Error Code: InvalidParameterException; Request ID: 33685466-642a-11e9-808c-db0b9bb00ea9)

是否有适当的方法来处理此登录问题?

塞巴斯蒂安·斯托马克(SébastienStormacq)

当您使用联合身份(例如,使用Facebook,Amazon或Google登录)时,身份验证是在身份提供商(例如Facebook)上进行的,然后通过从IDP导入属性在Cognito用户池中创建配置文件。

高级身份联合会的详细信息如下:https : //docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-identity-federation.html

在Cognito用户池中定义了必填属性后,您需要告诉Cognito如何将IDP中的属性映射到Cognito用户池属性。例如,如果您在Cognito中具有“生日”强制性属性,则需要告诉Cognito从Facebook的个人资料中可以从何处获得此值。

这是属性映射,在这里进行了说明:https : //docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-specification-attribute-mapping.html

上述问题的解决方案是

a /从Cognito的强制属性列表中删除这些属性。如果您的IDP没有此信息,则可以选择此选项。(Facebook可以共享出生日期和性别属性吗?)

b /要么定义一个属性映射,以使Cognito知道在IDP(Facebook)配置文件中可以在何处获取这些属性。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章