Azure AD B2C注册与登录时如何实现自动账户关联,确保用户仅拥有唯一账户
Azure B2C自动账户关联方案说明
Azure B2C提供的官方示例账户关联策略,均依赖用户手动完成账户的关联与解绑操作,很容易给用户造成使用困扰。目前行业内的普遍需求是支持用户自主选择任意身份验证方式,获得统一的使用体验,同时尽可能简化操作流程。
社交账户的关联与解绑操作属于用户账户管理功能的范畴,不应该出现在登录流程中打断用户操作。
基于现有自动账户关联能力扩展后,可实现以下核心场景:
场景1
- 用户此前已使用本地账户(bob@contoso.com)完成注册
- 用户选择使用Facebook登录,Facebook返回的邮箱声明为bob@contoso.com
- Facebook身份信息自动合并至现有本地账户
- 用户直接完成登录进入系统
- 无需额外提示用户使用本地账户登录
场景2
- 用户此前已使用Google账户(bob@contoso.com)完成注册
- 用户选择使用Facebook登录,Facebook返回的邮箱声明为bob@contoso.com
- Facebook身份信息自动合并至现有Google关联账户
- 用户直接完成登录进入系统
- 无需额外提示用户使用Google账户登录
场景3
- 用户此前已使用Google账户(bob@contoso.com)完成注册
- 用户后续使用已完成验证的邮箱bob@contoso.com注册本地账户
- 带自定义密码的本地账户信息自动合并至原有账户
- 用户直接完成登录进入系统,后续可同时使用本地账户+密码的方式登录
- 不会向用户返回“账户已存在”的报错信息
- 无需用户额外执行忘记密码流程
补充说明
针对第三个场景,现有常规方案的逻辑是创建原始社交账户时同步生成一个设置了随机密码的本地账户,用户后续注册时会收到“账户已存在”的报错,需要执行密码重置操作,但密码重置的操作步骤(验证邮箱、设置密码)和正常注册流程完全一致,徒增用户理解成本。
此前已有同类问题的相关讨论,但现有方案未覆盖本地账户与社交账户双向合并的场景,且当不存在本地账户时方案会失效。
内容的提问来源于stack exchange,提问作者Party Ark
相关产品推荐
相关产品推荐

