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

Azure AD B2C用户无交互获取访问令牌实现方案咨询

Azure AD B2C 无用户交互获取用户访问/刷新令牌实现方案

以下是适配你需求的完整配置与实现步骤,全程无需用户交互,采用资源所有者密码凭据(ROPC)流实现用户身份的令牌签发:

一、前置配置要求

你已经掌握B2C用户创建操作,以下重点说明场景需要的用户、应用、权限配置要求:

1. 用户类型要求

  • 必须是B2C本地账户用户:即直接在Azure AD B2C租户内创建、使用用户名/邮箱+密码登录的用户,不能是谷歌、企业AD等联邦身份源导入的用户,这类用户无法通过ROPC流完成无交互认证
  • 不能对该用户启用多重身份验证(MFA),否则会触发交互校验步骤,不符合无交互要求

2. 应用注册配置

你需要分别注册客户端应用(用来发起令牌请求的应用)和API应用(对应你要访问的REST API服务):

客户端应用配置

  • 注册时账户类型选择「仅此组织目录中的帐户」
  • 左侧菜单进入「认证」页,勾选「允许公共客户端流」后保存
  • 左侧菜单进入「API权限」页,点击「添加权限」,找到你要访问的REST API对应的API应用注册,选择需要的访问权限后,点击「授予管理员同意」,避免后续触发用户权限确认交互
  • 记录下客户端应用的应用(客户端)ID、B2C租户的租户ID/租户域名(格式为xxx.onmicrosoft.com)

API应用配置

  • 左侧菜单进入「公开API」页,添加你需要的接口访问作用域(示例格式为api://<API应用ID>/access_as_user),保存即可

3. 用户流配置

  • 在Azure AD B2C左侧菜单找到「用户流」,新建ROPC类型的用户流,按照指引完成基础配置后,记录该用户流的名称(示例格式为B2C_1_ROPC_Auth)

二、无交互获取令牌的实现

直接发起POST请求调用ROPC用户流的令牌端点即可,全程无用户交互:

请求参数示例

POST https://<你的B2C租户名>.b2clogin.com/<你的B2C租户名>.onmicrosoft.com/<你的ROPC用户流名称>/oauth2/v2.0/token
Content-Type: application/x-www-form-urlencoded

grant_type=password
&username=<你创建的B2C本地用户的用户名/邮箱>
&password=<对应用户的登录密码>
&client_id=<你注册的客户端应用ID>
&scope=<API作用域 比如api://xxxx/access_as_user offline_access>

注意:必须在scope参数中添加offline_access,才会返回refresh_token

返回结果示例

{
  "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1Ni...",
  "token_type": "Bearer",
  "expires_in": 3600,
  "refresh_token": "eyJraWQiOiJjcGltY29yZV8wOTI1MjAxNS...",
  "scope": "api://xxxx/access_as_user offline_access"
}

拿到的access_token放在请求头的Authorization字段,格式为Bearer <access_token>即可访问你的REST API服务。

三、刷新令牌的使用

access_token过期后无需再次传入用户密码,直接用refresh_token兑换新的令牌即可:

POST https://<你的B2C租户名>.b2clogin.com/<你的B2C租户名>.onmicrosoft.com/<你的ROPC用户流名称>/oauth2/v2.0/token
Content-Type: application/x-www-form-urlencoded

grant_type=refresh_token
&client_id=<你注册的客户端应用ID>
&refresh_token=<之前获取的refresh_token>
&scope=<API作用域 offline_access>

四、注意事项

ROPC流仅适合完全受信任的服务端客户端场景,不要在公开前端、移动端应用中使用,避免用户密码泄露风险。
生产环境不要硬编码用户密码,推荐使用安全的密钥管理服务存储凭据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 01:27:00