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

WSO2 API-M 3.0预发布版:如何获取Admin/Publisher API调用的OAuth令牌

如何生成WSO2 API-M 3.0预发布版Publisher API的OAuth访问令牌

我之前测试WSO2 API-M 3.x版本时也碰到过这个问题——调用Publisher的管理类API(比如创建新API)需要的是管理员级别的OAuth令牌,和你给已发布API/应用生成的用户令牌逻辑不一样。下面是具体的生成步骤:

  • 确认权限与Scope:首先要明确你调用的API需要哪些Scope,比如创建API需要apim:api_create,查看API列表需要apim:api_view,把你需要的Scope都整理好。

  • 使用Token Endpoint获取令牌:WSO2 API-M默认的Token端点是https://<你的API-M部署地址>:8243/token(本地部署就是https://localhost:8243/token),我们用password授权类型来生成令牌,因为你已经有admin账号密码,操作最直接:

    1. 设置请求头:Content-Type: application/x-www-form-urlencoded
    2. 构造请求体参数:
      • grant_type=password:指定授权类型为密码模式
      • username=admin:你的管理员用户名
      • password=admin:管理员密码
      • scope=apim:api_create apim:api_view:把需要的Scope用空格分隔开
      • client_id=admin:默认的管理员客户端ID(未修改过的话就是这个)
      • client_secret=admin:对应的客户端密钥

    给你一个本地部署可用的cURL命令示例:

    curl -k -d "grant_type=password&username=admin&password=admin&scope=apim:api_create apim:api_view&client_id=admin&client_secret=admin" -H "Content-Type: application/x-www-form-urlencoded" https://localhost:8243/token
    
  • 使用令牌调用API:发送请求后,你会收到包含access_token的JSON响应,把这个令牌放到请求头里,格式为Authorization: Bearer <你的access_token>,就可以调用对应的Publisher API了。

补充一句:如果想用client_credentials授权类型,需要先确保admin客户端已经被赋予了对应的Scope权限,但用password模式对于管理员账号来说是最快捷的方式,非常适合测试场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:02:46