问题标签 [kong-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1401 浏览

spring-boot - 将 Kong API Gateway key-auth 插件与 keycloak 保护的 rest api 一起使用

我的设置如下:

  1. 休息 API(春季启动)
  2. 前端应用程序(Angular 8)
  3. 身份验证服务器(密钥斗篷)

当前情景:

  1. 用户在 Angular 登录页面中输入用户名和密码。
  2. Angular 发出 POST 请求并从 keycloak 服务器获取访问令牌、刷新令牌等。
  3. 在所有后续对rest api服务器的请求(仅限承载)中,访问令牌作为“授权:承载<ACCESS_TOKEN>”在标头中传递
  4. Rest api 查看用户的角色,并基于此返回所需的数据或抛出 403 Forbidden 异常。

我想要什么: 使用 api-key 对外部用户进行身份验证,然后对其添加速率限制。为此,我正在使用 Kong API Gateway。对于通过 Angular 应用程序登录的内部或受信任用户,现有的访问令牌流应该可以工作。

问题: 在 Kong 中使用 apikey 时,它确实通过了 Kong 的身份验证,但其余 api 服务器仍然需要访问令牌,因此会收到 401 未授权错误。

0 投票
1 回答
113 浏览

aws-lambda - Kong调用的lambda中的HTML有双引号

我试图从一个被 Kong 作为 RequestResponse 调用调用的 lambda 返回一个 HTML。

这是 lambda 的样子:

这最终是这样的: 在此处输入图像描述

注意页面上的双引号。

在此 lambda 调用的响应转换器中,我已将内容类型显式设置为 HTML。我尝试发送一个字节数组,并切换到使用该callback方法而不是context.succeed.

我应该如何解决这个问题?

0 投票
1 回答
553 浏览

kubernetes - 如何在 Kong 的同一服务中使用多个身份验证插件

我希望使用赛普拉斯对一些 kubernetes 应用程序进行端到端测试。通常,我通过 kong 通过 OIDC 访问这些应用程序,但是 cypress 不支持这一点,但通过 API 密钥支持 key-auth。有没有办法设置服务,以便我可以同时使用这两种服务?

0 投票
0 回答
373 浏览

kong - 一起使用 Kong 的 key-auth 和 session 插件

我是 Kong 的新手,并且启用了 key-auth 插件的设置。所以当我去https://localhost:32443我得到{"message":"No API key found in request"}。如果我指定一个 apikey,我会得到应用程序的主页,但它是空白的。第一个请求以 200 响应成功https://localhost:32443/?apikey=EMCmOc4oE3KjE3CtCoqqDZ9cBM8mEJWjDcOuPJLXPZCmOJbb- 因为它包含“apikey”。该页面为下载缩小的 JS 和 CSS 而发出的所有后续请求均失败,并显示 401,因为它们不包含“apikey”。我试图将应用程序配置为使用“会话”插件,但不确定这是否正确,或者我只是没有正确配置它。

如果我在新选项卡中手动将“apikey”添加到 favicon 请求中,那么它可以正常加载。我不确定是否有我缺少的配置会自动为所有请求执行此操作?

非常感谢

0 投票
0 回答
178 浏览

go - 避免使用 zip golang 包

是否可以避免go build拉下特定依赖项的 zip 版本?防火墙阻止了它,我可以看到这可能是一个反复出现的主题。我可以使用版本的 git clone 然后将其复制到适当的 pkg 文件夹中,但这有点痛苦。大多数软件包都可以,只是有些似乎在 .zip 的防火墙上触发 403。更改特定 zip 的防火墙策略是一种长期的方法,目前正在寻找一些可以开始的方法。

细节

正在尝试为 kong 构建一个插件。步骤是:

  1. go mod init kong-go-plugin
  2. go get -d -v github.com/Kong/go-pluginserver
  3. go build github.com/Kong/go-pluginserver

下载依赖项之一失败,因为防火墙不允许该 zip 文件。

...github.com/ugorji/go/codec@v1.1.7.zip:403 禁止

更新

其目的不是颠覆公司防火墙策略,任何建议的方法都不应用于这样做。

对于上下文,在这种情况下,防火墙、网络、golang 和 kong 都是实验性的,我需要在更改防火墙策略之前评估解决方案。此外,真实/生产防火墙确实允许这个 zip 包,实验不允许。如果发现被阻止的包确实被认为是一个漏洞,那么需要加强防火墙规则以禁止 github repo。到目前为止,我们只使用go getwithoutmod并且效果很好,所以我认为建议的方法与以前的方法相比没有增加风险。尽管如此,问题仍然是任何变通方法都不应被用来破坏公司防火墙策略。

0 投票
1 回答
800 浏览

docker - kong.conf.default 通过 Linux 容器在 Docker 中只读

在使用 docker(Linux 容器)在 windows 中安装 Kong 之后,我需要更新 kong.conf.default 或 kong.conf 文件以获取一些额外的插件。

在此处输入图像描述

当我尝试使用以下命令更新 kong.conf.default 时,它说我只读。

同样,它也没有通过以下命令向我提供 chmod,它会引发错误“ chmod: kong.conf.default: Operation not allowed ”。

请需要您的支持。提前谢谢。

0 投票
1 回答
570 浏览

keycloak - 访问自省端点,失败:连接被拒绝 kong,keycload,OIDC

当我尝试通过我在 kong 上创建的代理访问端点时,我收到来自服务器的连接被拒绝响应。我用来命中代理的 curl 命令 -

要获得令牌,我使用以下 curl -

Client 协议是开放连接的,访问类型是公共的。

我在 Oidc 插件中完成的配置:

提前致谢

0 投票
1 回答
848 浏览

oauth - Kong + Keycloak + OAuth:jwt-keycloak 还是 oauth2 插件?

我使用 Kong 作为我的服务的 API 网关,这些服务应该使用客户端凭据流进行 OAuth 保护。现在,我使用jwt-keycloak插件实现了这一点。一切都很好,我向 Keycloak 请求了一个身份验证令牌,并将其与我的请求一起传递给 Kong。效果很好。

但是也有官方的 OAuth2 插件,我试图找出与 jwt-keycloak 插件相比,OAuth2 插件对我有什么好处?有什么区别,或者什么时候使用这些?

0 投票
1 回答
51 浏览

kong - 将Kong插件配置为仅触发一种或多种方法?

有没有办法将插件配置为仅针对给定方法或一组方法触发?

0 投票
0 回答
226 浏览

google-kubernetes-engine - 使用 jwks 验证令牌

我正在尝试在 GKE 集群上设置 Kong,以便验证传入的请求。我有一个我想用于验证的 jwks 文件/uri。

我已按照以下步骤...

  1. 部署通过服务公开的 hello world 应用程序。

  2. 安装 Kong kubectl apply -f https://raw.githubusercontent.com/Kong/kubernetes-ingress-controller/master/deploy/single/all-in-one-dbless.yaml

  3. 设置 Kong JWT 插件

  4. 创建入口

我看到的下一步是..

  1. 创建一个具有公钥的秘密,例如

  2. 创建 kong 消费者

这应该一切正常......问题是我没有秘密的公钥。我所拥有的只是 JWKS uri 之类的东西https://YOUR_DOMAIN/.well-known/jwks.json,我不确定如何使用它进行令牌验证。有没有我需要使用的其他插件。