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

Kong API网关:如何通过OpenID Connect传递微软Bearer令牌至上游服务

解决方案:通过Kong实现Microsoft Client Credentials流并传递令牌到上游

一、核心思路

利用Kong的OpenID Connect插件完成Microsoft OAuth2.0的client_credentials流认证,自动获取access_token并存入Kong上下文变量,再通过request-transformer插件将该令牌作为Header转发给上游服务。

二、步骤1:配置OpenID Connect插件(适配Client Credentials流)

无需复杂配置,聚焦以下关键参数即可(其余保持默认):

  • issuer: https://login.microsoftonline.com/XXXXXXXXXXX/v2.0(替换为你的Microsoft租户ID)
  • client_id: 你的Microsoft应用注册Client ID
  • client_secret: 你的Microsoft应用注册Client Secret
  • auth_methods: ["client_credentials"](明确指定客户端凭证流)
  • token_endpoint_auth_method: client_secret_post(Microsoft默认要求的认证方式)
  • introspect_tokens: false(client_credentials流无需令牌 introspect,减少无效请求)

配置命令示例(通过Kong Admin API):

curl -X POST http://<kong-admin地址>/plugins \
  --data "name=openid-connect" \
  --data "config.issuer=https://login.microsoftonline.com/XXXXXXXXXXX/v2.0" \
  --data "config.client_id=你的MS应用ClientID" \
  --data "config.client_secret=你的MS应用ClientSecret" \
  --data "config.auth_methods[]=client_credentials" \
  --data "config.token_endpoint_auth_method=client_secret_post" \
  --data "config.introspect_tokens=false" \
  --data "route_ids=你的API路由ID"

配置完成后,Kong会自动向Microsoft令牌端点请求access_token,并将其存入上下文变量ngx.var.openid_connect_access_token。

三、步骤2:用request-transformer传递令牌到上游

在同一路由上配置request-transformer插件,将令牌变量注入上游请求的Authorization Header:

配置命令示例:

curl -X POST http://<kong-admin地址>/plugins \
  --data "name=request-transformer" \
  --data "config.add.headers[Authorization]=Bearer \$openid_connect_access_token" \
  --data "route_ids=你的API路由ID"

注意变量引用格式:$openid_connect_access_token,Kong会自动替换为实际令牌值。

四、常见问题说明

  1. 找不到oauth-2插件?
    Kong官方OAuth2.0插件是oauth2(无横杠),默认可能未启用。可通过kong plugins list查看已启用插件,若未开启,需在Kong配置文件中添加plugins=bundled,oauth2后重启。不过针对你的需求,OpenID Connect插件更适配Microsoft OAuth服务,无需使用oauth2插件。

  2. OpenID Connect配置验证
    若未获取到令牌,可开启Kong调试日志(设置log_level=debug),查看日志中令牌请求的错误信息。常见问题包括租户ID错误、ClientID/Secret无效、网络无法访问Microsoft令牌端点。


内容的提问来源于stack exchange,提问作者b.kaur

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 14:30:10