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

Azure API Management:非标准认证流程的授权配置咨询

自定义认证API的授权实现方案

问题描述

我有一个需要配置认证的API,它不遵循标准OAuth2合规流程。具体要求是向https://{APIUrl}/Login发送GET请求,在请求头中传递userName和password;该请求的响应体返回AccessToken和RefreshToken,用于后续API请求。请问能否使用Authorizations实现?若不行,是否推荐用send-request策略预先调用Login端点获取AccessToken,再用于主API调用?


解答

1. 能否用Authorizations实现?

不能直接使用标准的Authorizations组件实现。因为你的认证流程完全偏离了OAuth2规范——OAuth2不会通过GET请求在请求头传递用户名密码,也不会采用这种直接返回Token的非标准响应格式。标准Authorizations模块仅支持适配OAuth2、OpenID Connect等合规认证协议,无法兼容这类自定义认证逻辑。

2. 推荐方案

推荐使用send-request策略预先获取Token,这是适配此类自定义认证流程的常规实践,具体逻辑如下:

  • 在主API调用的前置流程中,添加send-request策略,向https://{APIUrl}/Login发送GET请求,请求头中带上userName和password参数
  • 通过响应解析逻辑提取返回的AccessToken和RefreshToken,用set-variable策略将其存储为全局或局部变量
  • 主API请求时,从变量中取出AccessToken,添加到请求的指定位置(通常是请求头)完成认证
  • 可额外补充Token过期校验逻辑,当检测到Token失效时,自动触发Login接口调用刷新Token

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 16:38:11