amazon-web-services - 什么链接联合身份?
问题描述
“Facebook SDK 获取一个 OAuth 令牌,Amazon Cognito 使用该令牌为经过身份验证的最终用户生成 AWS 凭证。Amazon Cognito 还使用该令牌来检查您的用户数据库是否存在与该特定 Facebook 身份匹配的用户。如果用户已经存在,API 返回现有的标识符。否则返回一个新的标识符。- AWS 文档
Amazon Cognito 是仅检查数据库中已有的同一个 Facebook 用户,还是检查所有用户的匹配字段,例如电子邮件?我需要允许用户使用电子邮件、Facebook 或 Google 登录并获得相同的数据。基本上我在问亚马逊 Cognito 是否通过电子邮件自动将用户链接在一起,或者这不是这样做的方法。
解决方案
因此,如果我按照上面所说的正确理解了您的问题-我目前看不到我正在谈论的功能的更新-我很高兴错了,但是....
如果联合身份不是同一个会话,则它们是非常独立的事物,为了使身份链接起来,他们必须已经使用旧身份登录并使用其他身份登录 - 实际上虽然在纸面上 Cognito 看起来很棒,但这是为什么我们没有使用它,我们的问题是:
(将@替换为!)
marc!marc.com 登录用户池。
marc!marc.com 通过 facebook 登录。
marc!marc.com 通过其他方式登录。
如果他们是三个单独的会话,那么您最终可能会得到 3 个用户 - 尽管 AWS 说如果您在这里阅读,看起来您可以链接 ID,但前提是他们首先使用原始 ID 登录。
是的,这很愚蠢,是的,它确实不适合目的 - 在一家大型连锁酒店中,我在 AWS 办公室谈到了这一点,并且升级在路线图上 - 我没有重新审视它,所以希望我错了!
注意 请不要在大约 24 小时内接受这个答案,因为我想让其他人有机会参与进来,我认为我是 100% 正确的,但我有一段时间没有看 Cognito(而且我有点害怕,因为文档不是很好(对不起 AWS),上次尝试完全按照您的意愿做事时,它差点把我逼下悬崖)。
推荐阅读
- php - Laravel 找不到 "Class 'Zttp\Zttp' not found" 但它是由 composer 安装的
- java - Websphere keyset not get the latest key
- wysiwyg - 与 Mark.js 一起使用的富文本编辑器/RTE 框架
- docker - Kibana docker compose 与外部弹性搜索
- c++ - C ++替换字符串中的一个/多个字符
- sql-server - 透视或 CTE 将基于日期和时间的数据从行透视/更改为命名列
- google-cloud-platform - 从 Cloud Storage 中提取 Tar.gz 文件
- c# - 如何在 Xamarin Forms 的 IValueConverter 接口中格式化文化货币使用方法 ConvertBack?
- visual-studio-code - 在 VSCode 中显示隐藏的 NodeModules 文件夹
- android - 每小时安排一个任务从蓝牙设备获取数据并将其发送到服务器。