我们正在使用 AWS Cognito(联合身份)来提供通过 facebook 和 google+ 的登录。
我们面临以下挑战。我们公司正在提供相互交互的不同应用程序,因此我们希望经过身份验证的用户在一个认知身份池中拥有一种身份。并利用跨应用程序的同步存储。
对于 cognito,在使用 AWS 控制台时,您只能为每个 IdP 选择一个受众(客户端 ID/应用程序 ID)。对于我们来说,将许多 Facebook 受众和 google+ 受众与这一认知设置相关联是有意义的。
我们通过 IAM 将 google+ 创建为 IdP,了解了如何设置许多 google+ 受众群体。这对我们来说非常有效。 我们正在努力寻找一种通过 IAM-IdP 或任何其他方式配置许多 Facebook 受众的方法。
好吧,Facebook 不是开放 ID 连接提供商,这似乎就是问题所在。但我有点不想接受这个。
你们中有人知道如何配置多个 Facebook 应用程序以与一个认知身份池关联吗?非常欢迎解决方法。
一个附加信息:我们可以使用一个全局性的 Facebook 应用程序,例如“OurCompany - Network”,就可以了。对此的阻碍是,它会阻止我们进行带有安装跟踪的 Facebook 事件。如果您知道解决此问题的方法,这也是一个受欢迎的解决方案。
最佳答案
我通过使用多个池,然后在角色级别允许两个池来完成此操作。这意味着我对该角色的信任关系如下所示:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Federated": "cognito-identity.amazonaws.com"
},
"Action": "sts:AssumeRoleWithWebIdentity",
"Condition": {
"ForAnyValue:StringEquals": {
"cognito-identity.amazonaws.com:aud": [
"<first cognito pool>",
"<second cognito pool>"
]
},
"ForAnyValue:StringLike": {
"cognito-identity.amazonaws.com:amr": "authenticated"
}
}
}
]
}
关于facebook - 多个 Facebook 应用程序作为 AWS Cognito 联合身份的身份提供商,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37675577/