如何在3scale API管理中向需API Key认证的后端传递API token
3scale 私有后端额外API Key身份验证配置方案
3scale后端配置面板未提供固定API Key透传的预设入口,你可以通过APIcast的自定义策略功能实现需求,无需修改网关核心代码,以下是两种常用方案:
方案1:全局固定API Key注入(所有请求共用同一个后端API Key,最常用)
- 登录3scale管理控制台,进入对应API产品的
Integration→Policies配置页 - 点击
Add policy,选择Header modification策略,将该策略的排序调整到默认的APIcast策略之前,确保请求转发到后端前就完成API Key注入 - 进入策略配置界面,在
Request配置块下新增头部规则:- 操作类型选择
add - 头部名称填写你的私有API要求的API Key对应字段名,比如通用规范的
X-API-Key - 头部值填写你的私有API的固定密钥值
- 勾选
overwrite选项,避免终端用户传入的同名头部覆盖你配置的有效密钥
- 操作类型选择
- 保存策略配置后,点击
Update & test按钮将新配置发布到APIcast网关即可生效
方案2:按应用动态匹配API Key(不同应用请求后端使用不同API Key)
- 先进入3scale管理后台的
Settings→Fields definitions页,给应用(Application)新增自定义扩展字段,字段名可设为private_backend_api_key,字段类型选字符串 - 给每个需要访问该私有API的应用,在应用详情页的扩展字段处填入对应分配的API Key值
- 回到对应API产品的策略配置页,添加
Header modification策略,头部值填写动态变量{{ app.extra_fields.private_backend_api_key }},其余配置和方案1一致即可
验证方法
配置完成后可以用curl命令测试有效性:
curl -v https://<你的3scale网关域名>/<API请求路径> -H '<3scale要求的用户身份校验头>:<对应校验值>'
如果返回401状态码,优先检查API Key的字段名、值是否正确,以及Header modification策略的排序是否在APIcast默认策略之前。
内容的提问来源于stack exchange,提问作者Rick
相关产品推荐
相关产品推荐

