如何配置Azure APIM OAuth2服务对接Azure AD B2C实现API调试?
配置APIM OAuth2服务触发指定AAD B2C用户流(开发者门户Try it功能)
要让APIM开发者门户的「Try it」功能触发带自定义声明的B2C注册/登录用户流,核心是在APIM的OAuth2身份提供者配置中直接将B2C策略嵌入端点路径,而非通过查询参数传递。具体步骤如下:
1. 创建/编辑APIM OAuth2身份提供者
- 登录APIM管理门户,进入「身份」>「OAuth 2.0」,点击「添加」或编辑现有B2C身份提供者
- 按以下格式填写关键配置项:
- 名称:自定义标识(例如
B2C-Custom-UserFlow) - 客户端ID:你的B2C应用(供APIM调用的专用应用)的客户端ID
- 客户端密钥:对应B2C应用的客户端密钥
- 授权端点:直接嵌入策略路径,格式为:
https://{你的B2C租户名}.b2clogin.com/{你的B2C租户名}.onmicrosoft.com/{你的注册登录策略名}/oauth2/v2.0/authorize - 令牌端点:同样嵌入策略路径,格式为:
https://{你的B2C租户名}.b2clogin.com/{你的B2C租户名}.onmicrosoft.com/{你的注册登录策略名}/oauth2/v2.0/token - 范围:填写你的API对应的B2C作用域(例如
https://{你的B2C租户名}.onmicrosoft.com/api/access_as_user) - 重定向URI:必须配置为APIM开发者门户的回调地址,格式为:
https://{你的APIM实例名}.developer.azure-api.net/signin-oauth
- 名称:自定义标识(例如
- 保存配置
2. 关联身份提供者到目标API
- 进入APIM的「API」模块,选择需要配置的目标API
- 切换到「设置」标签页,在「OAuth 2.0」下拉框中选择刚创建的B2C身份提供者
- 保存API配置
3. 验证开发者门户Try it功能
- 打开APIM开发者门户,找到目标API的「Try it」按钮
- 点击「Authorize」,会自动跳转至你指定的B2C注册/登录用户流页面
- 完成身份验证后,系统会自动获取包含自定义声明的Bearer令牌,直接使用该令牌即可调试API
关键注意事项
- 必须确保B2C应用的「重定向URI」列表中已添加上述APIM回调地址,否则身份验证会失败
- 授权端点和令牌端点必须使用相同的策略名称,否则无法正确颁发包含自定义声明的令牌
- 自定义声明需在B2C用户流中配置为「输出声明」,才能被包含在访问令牌内
内容的提问来源于stack exchange,提问作者Thomas Houtekier
相关产品推荐
相关产品推荐

