You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在.http文件中直接从Azure AD B2C获取access_token?

在.http文件中直接获取Azure AD B2C的access_token用于API测试

当然可以直接在.http文件中完成,核心是利用Azure AD B2C的资源所有者密码凭据流(ROPC),直接通过用户名密码请求token端点获取access_token,无需手动从应用提取。

步骤和示例

1. 准备必要的Azure AD B2C配置信息

你需要提前整理好这些参数:

  • 租户名称(比如your-tenant)
  • 用户流/自定义策略名称(比如B2C_1_signupsignin)
  • 应用的客户端ID
  • 客户端密码(仅机密客户端需要,比如后端API应用;公共客户端如MAUI可省略,但ROPC对公共客户端支持有限)
  • 测试用户的用户名和密码
  • 目标API的权限范围(比如https://your-tenant.onmicrosoft.com/api/access_as_user)

2. 编写.http文件请求

可以先定义环境变量方便复用,再写token请求:

### 定义环境变量
@tenantName = your-tenant
@policyName = B2C_1_signupsignin
@clientId = your-client-id
@clientSecret = your-client-secret
@username = test-user@your-domain.com
@password = your-test-password
@apiScope = https://{{tenantName}}.onmicrosoft.com/api/access_as_user
@tokenEndpoint = https://{{tenantName}}.b2clogin.com/{{tenantName}}.onmicrosoft.com/{{policyName}}/oauth2/v2.0/token
### 获取Azure AD B2C Access Token
POST {{tokenEndpoint}}
Content-Type: application/x-www-form-urlencoded

grant_type=password
&client_id={{clientId}}
&client_secret={{clientSecret}}
&username={{username}}
&password={{password}}
&scope={{apiScope}} offline_access
&response_type=token

3. 使用token调用API

拿到返回的access_token后,直接在后续API请求中引用:

### 调用受保护的API
GET https://your-api-domain/api/protected-endpoint
Authorization: Bearer {{access_token}}

关键注意事项

  • ROPC流仅适合测试场景,生产环境绝对不要使用,因为会直接暴露用户密码,不符合安全最佳实践
  • 确保你的Azure AD B2C用户流/自定义策略已经启用了ROPC流
  • 如果是公共客户端(如MAUI),不需要传入client_secret,但需要确认Azure AD B2C允许该客户端使用ROPC流
  • 替换所有{{占位符}}为你的实际配置信息

内容的提问来源于stack exchange,提问作者Sam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 20:14:53