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

使用Graph API创建令牌颁发策略时,definition参数应传入什么内容?

关于Graph API创建令牌颁发策略中definition字段的详解

嘿,我来帮你搞清楚这个definition字段到底该填啥!这个字段是整个令牌颁发策略的核心,它是一个JSON数组,里面的每个元素都是符合Azure AD策略语法的字符串(注意要转义双引号,因为外层已经是JSON结构了)。

简单来说,definition里的内容用来定义令牌的规则——比如令牌有效期、要包含的自定义声明、哪些应用/用户能获取令牌等等。下面给你几个常见场景的示例,你可以直接参考修改:

1. 设置令牌生命周期

这是最常用的场景,比如限制访问令牌和ID令牌的有效期:

[
  "{\"TokenLifetimePolicy\":{\"Version\":1,\"AccessTokenLifetime\":\"00:30:00\",\"IdTokenLifetime\":\"00:15:00\"}}"
]
  • AccessTokenLifetime和IdTokenLifetime用hh:mm:ss格式,这里分别设置为30分钟和15分钟
  • Version必须设为1,这是当前唯一支持的版本

2. 添加自定义声明到令牌

如果你需要把用户的扩展属性或者其他信息塞进令牌里,可以用这个:

[
  "{\"ClaimsMappingPolicy\":{\"Version\":1,\"IncludeBasicClaimSet\":\"true\",\"Claims\":[{\"Source\":\"user\",\"ID\":\"extension_1234567890abcdef1234567890abcdef_employeeId\",\"JwtClaimType\":\"employee_id\"}]}}"
]
  • IncludeBasicClaimSet设为true表示保留默认的基础声明(比如sub、name这些)
  • Source指定数据来源(这里是user,也就是用户对象),ID是用户属性的名称,JwtClaimType是你要在令牌里显示的声明名称

3. 限制令牌仅发给特定应用

如果想让这个策略只对某个应用生效,可以这么写:

[
  "{\"TokenIssuancePolicy\":{\"Version\":1,\"AppliesTo\":[\"appId:12345678-1234-1234-1234-1234567890ab\"],\"IssuanceAuthorizationRules\":[{\"ClaimType\":\"appid\",\"Operator\":\"Equals\",\"Value\":\"12345678-1234-1234-1234-1234567890ab\"}]}}"
]
  • AppliesTo里填目标应用的ID(格式是appId:你的应用ID)
  • IssuanceAuthorizationRules用来验证请求令牌的应用是否符合条件

完整请求示例(结合令牌生命周期)

POST https://graph.microsoft.com/v1.0/policies/tokenIssuancePolicies
Content-type: application/json
{
  "definition": [
    "{\"TokenLifetimePolicy\":{\"Version\":1,\"AccessTokenLifetime\":\"00:30:00\",\"IdTokenLifetime\":\"00:15:00\"}}"
  ],
  "displayName": "内部应用令牌有效期策略",
  "isOrganizationDefault": false
}

这里提下isOrganizationDefault:设为true会让策略应用到整个租户;设为false的话,你需要后续把策略分配给特定的应用或用户才能生效。

小技巧

要是你对语法没把握,不妨先在Azure门户手动创建一个测试策略,再用Graph API的GET请求https://graph.microsoft.com/v1.0/policies/tokenIssuancePolicies/{策略ID}获取它的definition字段,直接参考现成格式写就不会出错啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 08:25:14