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

如何在set-header中拼接req.hdr()值与静态值Bearer

搞定请求头拼接+重命名的方案

嘿,这需求其实挺常见的,我给你捋清楚怎么实现:

核心就是当some-condition-applies条件满足时,把旧请求头的值揪出来,前面加上固定的Bearer 前缀,再塞进Authorization请求头里。

具体实现代码

假设你用的是支持req.hdr方法的网关/代理环境(比如Kong、Envoy这类),直接这么写就行:

-- 先判断条件是否成立
if some-condition-applies then
    -- 拿到旧请求头的值
    local old_header_val = req.hdr("my-old-header-name")
    -- 拼接前缀,记得Bearer后面要加空格哦
    local auth_header_val = "Bearer " .. old_header_val
    -- 设置新的Authorization请求头
    set-header("Authorization", auth_header_val)
end

几个要注意的点

  • 一定要确认my-old-header-name和实际传入的请求头名称一致,HTTP头大小写不敏感,但尽量精准点没毛病
  • 别漏了Bearer 后面的空格!这是认证规范里的标准格式,少了空格后端大概率认不出来
  • 如果担心旧请求头可能不存在(比如有时候客户端没传),可以加个非空判断,避免生成Bearer nil这种无效内容:
if some-condition-applies and old_header_val ~= nil then
    local auth_header_val = "Bearer " .. old_header_val
    set-header("Authorization", auth_header_val)
end

这样就能完美生成你要的Authorization: Bearer my-old-header-value-interpreted-from-req-hdr请求头啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 09:06:24