c# - 如果内部和外部帐户(facebook、twitter)具有相同的电子邮件地址,如何使用 IdentityServer4 框架实现合并
问题描述
我们使用带有 IdentityServer4 nuget 包的 .net 核心构建了 OAuth 身份服务器。我们添加了对 facebook 令牌支持的支持。因此身份服务器将使用 facebook 图形 API ( https://graph.facebook.com/v2.8/me )将 facebook 令牌与内部令牌交换。现在,如果两个用户具有相同的电子邮件地址,我们需要合并两个用户。
您能否建议如何将此功能集成到我们的身份服务器中?是否有任何内置支持或最佳实践来实现这一点?
解决方案
根据身份服务器文档:
我们的快速入门 UI 通过单个回调汇集所有外部身份验证调用(请参阅 AccountController 类的 ExternalLoginCallback)。这允许单点进行后处理。 Identityserver.io 上的联合网关文档
因此,即使您没有使用 QuickstartUI,您也可以下载它并检查他们如何配置东西以使外部身份验证流程在该控制器上结束,然后从那里进行所有检查(如果有本地用户使用相同的电子邮件)并关联具有此“外部身份验证记录”的用户
推荐阅读
- c# - 将 Eigen::VectorXd 和 Eigen::Vector2d 从 C++ 传递到 Unity C#
- java - 有没有一种在 Java 中重新排列链表的方法?
- php - 如何调用要存储在数据库中的变量
- ruby - 通过 gemspec 在 RubyGem 中包含哪些文件
- android - 没有为“LineIcons”类型定义吸气剂“sign_out”
- javascript - Content-Type x-www-form-urlencoded 工作,但 json 导致错误 400
- java - Java中Rust的函数接口和方法引用等价是什么
- omnet++ - 2.4GHz 的 IEEE80211DimensionalTransmitter 物理层中 g(混合)操作模式下的未知比特率错误
- hibernate - 在 DriverManagerDataSource 的 driverClassName 属性中集成 spring mvc 和 orm 时出错
- django - 如何使用 django 查询和 .count 进行算术运算?