Azure Entra External ID:能否简化冗长的默认登录URL?
Azure Entra External ID 登录URL简化方案
你可以通过两种方式简化冗长的登录URL,具体实现如下:
一、简化为 https://company.b2clogin.com/login
这种极简格式需要借助URL路由转发服务(如Azure Front Door、应用网关)实现,核心是通过路由规则将短路径映射到完整的授权URL,并自动填充固定查询参数:
- 配置路由转发规则
- 创建Azure Front Door实例,添加后端池指向你的B2C授权端点:
https://company.b2clogin.com/company.onmicrosoft.com/oauth2/v2.0/authorize - 新建路由规则,匹配路径
/login,设置转发模式,并添加固定查询参数:p=B2C_1_sign_in(指定默认登录流)client_id=12345678-123a-12ab-1aa2-12341234(你的应用ID)scope=openidresponse_type=id_tokenredirect_uri=https%3A%2F%2Fjwt.ms(固定回调地址)
- 创建Azure Front Door实例,添加后端池指向你的B2C授权端点:
- 域名绑定
- 将Front Door的自定义域名绑定为
company.b2clogin.com,完成域名所有权验证后,用户访问https://company.b2clogin.com/login时会自动转发到完整授权URL。
- 将Front Door的自定义域名绑定为
注意:
nonce是动态安全参数,不能固定配置,需由前端或后端在跳转前生成并附加到请求中,或在路由转发时通过动态规则生成。
二、简化为 https://company.b2clogin.com/oauth2/v2.0/authorize
这种简化方式无需额外服务,通过Azure Entra External ID的默认配置即可实现:
- 设置默认用户流
- 登录Azure门户,进入Azure Entra External ID管理界面
- 在“用户流”菜单中,选中你的登录流(如
B2C_1_sign_in),点击顶部的“设置为默认” - 完成后,访问
https://company.b2clogin.com/company.onmicrosoft.com/oauth2/v2.0/authorize时,系统会自动使用默认登录流,无需指定p=参数
- 隐藏固定参数
- 对于
client_id、scope等固定参数,可以在应用注册中预设,或通过后端服务自动拼接:用户访问简化后的URL时,后端自动补充所有必要参数后跳转至B2C授权端点。
- 对于
内容的提问来源于stack exchange,提问作者Marcus
相关产品推荐
相关产品推荐

