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

如何获取调用Azure APIM REST API所需的Bearer Token

Azure APIM REST接口所需Bearer Token获取指南

你调用的Azure API Management订阅创建/更新接口属于Azure资源管理器(ARM)管控面接口,采用的Azure AD OAuth2认证逻辑和token获取方式如下:

核心认证逻辑

  • 这类ARM接口只接受Azure AD颁发、受众为https://management.azure.com/的访问令牌,APIM本身不生成这个接口的调用token
  • 后端自动化场景必须使用客户端凭证流(Client Credentials Flow),基于服务主体身份获取token,不需要用户交互式操作,适合服务常驻调用
  • 权限前置要求:用于获取token的服务主体,必须在目标APIM实例所属的资源组或订阅上,分配有API Management服务参与者或对应订阅写权限,否则拿到token后调用接口会返回403无权限。

具体获取操作

前置准备

先在Azure AD中注册应用生成服务主体,记录三个必填参数:

  • 租户ID(Tenant ID)
  • 应用(客户端)ID(Client ID)
  • 客户端密钥(Client Secret,注意密钥过期时间,生产环境建议用客户端证书替代密钥提升安全性)
    之后给该服务主体分配对应APIM资源的操作权限。

Token请求方法

Token请求端点格式:https://login.microsoftonline.com/{替换为你的租户ID}/oauth2/v2.0/token
请求规则:

  • 请求方法:POST
  • 请求头:Content-Type: application/x-www-form-urlencoded
  • 请求体为表单格式,必填参数如下:
    • grant_type:固定传client_credentials
    • client_id:你记录的应用客户端ID
    • client_secret:你创建的客户端密钥
    • scope:固定传https://management.azure.com/.default

请求示例(curl):

curl -X POST -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=client_credentials&client_id=你的客户端ID&client_secret=你的客户端密钥&scope=https://management.azure.com/.default" \
  https://login.microsoftonline.com/你的租户ID/oauth2/v2.0/token

返回的JSON响应中,access_token字段就是接口需要的Bearer Token,调用APIM接口时将其放入请求头Authorization: Bearer {access_token}即可正常鉴权。

常见注意事项

  • 不要混用Microsoft Graph的访问令牌,两类接口的令牌受众不同,无法通用
  • 该token默认有效期为1小时,后端服务需要做token缓存,临近过期时再重新请求,不要每次调用业务接口都申请新token
  • 官方文档页"Try It"功能自动生成的token,是基于当前登录用户的交互式授权生成的用户令牌,仅适合临时调试,不能用于生产环境自动化流程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 17:54:30