如何配置Azure AD B2C展示用户流对应的自定义登录界面
问题场景
- 基于MSAL包在Angular应用中集成Azure AD B2C身份验证,已完成官方教程前3步配置
- 配置时出现登录页展示异常:
- 参考MSAL初始化文档将
authority设为https://login.microsoftonline.com/common时,仅展示默认微软账号登录界面,无B2C配置的其他身份提供商入口 - 将
authority改为自身租户ID时,点击「使用其他账户」-「登录选项」仅可见GitHub、密钥登录入口,无法展示配置好的目标用户流登录页
- 参考MSAL初始化文档将
解决步骤
- 创建B2C自定义策略
要加载B2C用户流配置的登录界面,必须先完成B2C自定义策略配置:- 按照Azure AD B2C自定义策略创建指引,完成2个必备的额外应用注册
- 下载官方starter pack,按指引替换为自身租户的相关配置信息
- 如果需要接入社交身份提供商,按照B2C官方文档对应章节完成IdP配置即可
- 策略上传异常处理
如果上传自定义策略XML文件时报错,可以使用B2C示例快速部署工具辅助生成配置,工具输出的文件可直接覆盖使用 - 修正MSAL配置
不要使用common端点或普通租户ID作为authority值,这类端点属于常规Azure AD身份验证体系,不会加载B2C用户流配置的身份提供程序列表。需将MSAL配置中的authority字段设置为自定义策略地址,格式如下:
配置完成后即可正常展示包含所有已配置身份提供商的目标登录界面。https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/b2c_1_YOUR_CUSTOM_POLICY_NAME
内容的提问来源于stack exchange,提问作者Alexis Chavarría
相关产品推荐
相关产品推荐

