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

Azure AD B2C自定义策略中OAuth语法及可用引用技术问询

Azure AD B2C自定义策略中{oauth2:xxx}类语法详解

一、语法说明

这种{前缀:字段名}的格式是Azure AD B2C自定义策略里的声明解析器占位符,用来从身份提供者(IDP)的响应或当前策略的声明集合中提取特定值,属于官方定义的「声明解析器表达式」范畴。

二、除access_token/refresh_token外可引用的内容

根据IDP遵循的协议类型,可提取的内容分为两类:

1. OAuth2协议响应(对应oauth2前缀)

除了你提到的两个令牌,还能提取OAuth2令牌响应里的标准字段:

  • id_token:OpenID Connect兼容IDP返回的身份令牌
  • token_type:令牌类型,通常为Bearer
  • expires_in:access_token的过期时长(单位:秒)
  • scope:授权请求中获取到的权限范围
  • 部分IDP自定义响应字段:比如部分社交IDP会返回额外的用户元数据字段

2. OpenID Connect ID Token声明(对应oidc前缀)

如果是OIDC兼容的IDP,还可通过{oidc:xxx}提取ID Token(JWT) payload里的声明,包括:

  • 标准OIDC声明:sub(用户唯一标识)、name、email、given_name、family_name、picture、locale
  • IDP自定义声明:比如Google返回的hd(用户所属域名)、Facebook返回的age_range

三、oauth2的对象结构

oauth2前缀对应的是OAuth2 IDP返回的令牌响应JSON结构,典型格式如下:

{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "token_type": "Bearer",
  "expires_in": 3600,
  "refresh_token": "def50200...",
  "id_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6Ij..."
}

{oauth2:字段名}就是直接从这个JSON对象中提取对应键的值。

四、其他可用的前缀类型

不止oauth2,还有以下常用前缀:

  • {oidc:xxx}:用于解析OpenID Connect ID Token的JWT payload中的声明
  • {saml:xxx}:用于从SAML IDP的断言(Assertion)中提取属性字段,比如{saml:emailaddress}
  • {claims:xxx}:用于引用当前策略流程中已生成或存在的声明值,比如{claims:displayName}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 20:40:10