任何Kong身份验证插件(key-auth,basic-auth)都会使用realm="kong“生成响应头”www-身份验证“。是否有一种方法可以将领域的值更改为不指明我使用的哪个API网关?
我读取了身份验证插件的文档,但是没有配置值。
发布于 2022-11-16 15:53:19
因为我构建了自己的坞映像,所以我决定直接在源代码中修补这个值。对于任何感兴趣的人,以下是Dockerfile中的一行:
RUN cd / && find . -name "meta.lua" 2>/dev/null | xargs sed -i.lua 's/_NAME = "kong"/_NAME = "<my-own-realm-name>"/g'该命令搜索meta.lua文件并替换_NAME变量的值。也许它可以更优雅,但它符合我的需要。
发布于 2022-11-15 15:39:49
我读取了身份验证插件的文档,但是没有配置值。
WWW-Authenticate头被发送到客户端以遵守RFC 7235第4.1节,后者指定在源代码这里上实现A server generating a 401 (Unauthorized) response MUST send a WWW-Authenticate header field containing at least one challenge.。
但是,由于报头是在401响应(请求没有传递到上游服务器)的情况下来自Kong的响应,因此可以没有任何问题地修改报头。
您可以使用配置为响应变压器的config.replace.headers=WWW-Authenticate:<value>插件来更改标头的值。
否则,可以使用config.remove.headers=WWW-Authenticate的配置来完全删除标头。
https://stackoverflow.com/questions/74445098
复制相似问题