当前位置: 首页 > 知识库问答 >
问题:

使用Kong API Gateway key-auth插件和keycloak保护的rest apis

葛嘉悦
2023-03-14

我的设置如下:

  1. Rest API(Spring boot)
  2. 前端应用程序(角度8)
  3. 验证服务器(密钥斗篷)

当前情景:

  1. 用户在angular登录页面中输入用户名和密码
  2. Angular发出POST请求并从KeyClope服务器获取访问令牌、刷新令牌等
  3. 在对RESTAPI服务器的所有后续请求(仅限承载)中,访问令牌作为“Authorization:bearer”在报头中传递

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

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

共有1个答案

太叔坚
2023-03-14

我找到了解决方案。基本上,您需要配置一个匿名消费者并使用Kong的key-auth插件来实现基于api-key的安全性和openid-connect插件来实现基于keycloak的安全性,从而启用多种身份验证方法

对于那些没有Kong Enterprise的人来说,由于openid-connect插件不是开源的,所以您可以只配置key-auth插件并启用匿名访问,然后在rest应用程序中处理基于keycloak的身份验证。

 类似资料:
  • 我正在尝试使用KeyCloak保护WildFly上的一个简单的。war应用程序。我已经完成了keycloak入门教程,创建了一个“演示”领域,并成功地将其部署到带有keycloak身份验证的vanilla应用程序中。我正在尝试将KeyCloak添加到一个示例WildFly webapp(https://github.com/WildFly/quickstart/tree/master/hellow

  • 但结果是这样的: 如果我使用了一些错误的api,或者整个原型来验证和保护我的后端api是不正确的。有人能帮我弄明白问题出在哪里吗?

  • 问题内容: 我在服务器上安装了jenkins,并希望通过nginx http auth保护它,以便请求: 除以下位置外,将受到保护: 需要触发构建。我对nginx有点陌生,所以我坚持使用nginx config。 我尝试了类似上面的配置的smth,但是当我访问时没有http auth。 问题答案: 最后,我弄清楚了如何解决这个问题。首先,我们需要在“管理Jenkins”页面上取消选中“启用安全性”

  • 我正在尝试在zookeeper和kafka之间设置kerberos标识。 我遵循了此处提供的配置步骤:https://docs.confluent.io/4.1.1/kafka/authentication_sasl_gssapi.html#sasl-gssapi经纪人。 Kafka代理成功连接到zookeeper集合,代理正在zNode上设置ACL。 在Zookeeper中,我可以看到znode

  • 我试图通过MySQL中的Hibernate解决并发数据库插入冲突的问题。 我有一段代码,可以很容易地被多个线程同时执行。它检查数据库中是否存在记录,如果不存在,就插入一条新记录。对相关的子记录执行相同的insert-if-existing操作。如果两个线程试图同时保存子记录,我会得到一个ConstraintViolationException,因为两个线程在查询时都发现记录不存在,所以两个线程都试