Azure AD B2C环境下企业内部用户复用原账号登录新应用的技术咨询
解决方案:让企业内部AD用户用原账号密码登录Azure AD B2C应用
核心思路
别搞独立的B2C用户账号,直接给AD B2C和企业内部Azure AD搭联合身份验证(也就是SSO),这样内部用户直接用原AD的邮箱、密码登录,不用维护两套凭证,完全符合你要的效果。
具体配置步骤
步骤1:在企业内部AD里注册应用
打开你现有订阅的Azure AD,新建一个应用注册,重定向URI填这个格式:https://<你的B2C租户名>.b2clogin.com/<你的B2C租户名>.onmicrosoft.com/oauth2/authresp
记好这个应用的客户端ID和客户端密钥,后面B2C配置要用。步骤2:给AD B2C加企业AD作为身份提供者
进你的AD B2C租户,找到「身份提供者」页面点「新建」,选「Azure Active Directory」类型:- 填个显示名,比如「企业内部账号登录」
- 输入企业AD的租户ID、刚才注册的应用客户端ID和密钥
- 可选设置域提示(比如
internalad,用户登录时可以直接触发这个身份验证入口) - 配置声明映射:把企业AD返回的
email或upn对应到B2C的email、displayName这些属性,保证用户信息能正确关联上。
步骤3:更新用户流/自定义策略
要是用的内置用户流,编辑登录/注册流,把刚加的企业AD身份提供者加到可选列表里;要是用自定义策略,就在策略文件里加对应的技术配置和用户旅程步骤,确保用户能选内部AD账号登录。步骤4:测试验证
登录测试时,用户选「企业内部账号登录」,会跳转到企业AD的登录页,输原AD的邮箱密码就能直接登,不用新建B2C账号,凭证全用企业AD的。
关于现有ExternalAzureAD管理员账号的处理
之前建的那个关联账号是独立的B2C本地用户,密码和企业AD不互通,完全不是你要的状态。直接删了就行,管理员走上面的联合验证流程登录,用原AD的凭证就能访问B2C租户管理后台(前提是给这个企业AD用户在B2C租户里配好管理员角色)。
内容的提问来源于stack exchange,提问作者Java North
相关产品推荐
相关产品推荐

