【问题标题】:How to setting JWT Authentication in KONGA如何在 KONGO 中设置 JWT 身份验证
【发布时间】:2020-02-01 12:00:55
【问题描述】:

我想为我的服务添加 JWT 身份验证。 我已完成以下步骤,但 JWT 身份验证不起作用

  1. 创建一个Consumer
  2. 将 JWT 机密插入 Consumer
  3. ServiceRoute 中添加带有Consumer id 的JWT 插件

但是,我从 Postman 收到的消息是未经授权。 如果我使用 Key-AuthBasic Auth,我没有问题。我寻找和找到的网站太多,但没有解决我的问题。

我使用jwt.io网站生成Token,但不确定Payload部分要填写的信息。

服务/路由中的 JWT

消费者中的 JWT

网站 jwt.io 中的 JWT(这是令人困惑的部分,卡在 Payload 中)

邮递员

如果有人可以帮助我,不胜感激。

  • 孔加版本:0.14.3
  • 港版:1.3.0

【问题讨论】:

  • 您能否详细介绍一下您的 kong 配置以及您通过邮递员发送的请求?
  • 我已经更新了我上面的帖子。
  • @Jahdere 那怎么办?

标签: jwt api-gateway kong jwt-auth kong-plugin


【解决方案1】:

同样的问题,你所做的每一个步骤都是绝对正确的。我也无法在其他地方找到解决方案。但幸运的是,在再次查看所有参数以启用 JWT 插件并为消费者创建 JWT 后,我得到了解决方案。

我发现这个参数config.header_names必须输入为Authorization(记住输入Enter后输入:D)。

虽然 Kong 文档 (https://docs.konghq.com/hub/kong-inc/jwt/) 说 此值是可选的,默认值为 "Authorization" 但实际上如果您将其留空,我意识到 Kong 无法从标头中提取 JWT。

【讨论】:

    【解决方案2】:

    密钥声明名称(在您的情况下为“iss”)必须存在于您的 jwt 令牌中,并且 kong 中的消费者必须配置为期望(在相应消费者的“密钥”字段中)

    要使令牌有效,令牌中“iss”的值必须等于您在创建消费者时输入的“key”的值

    【讨论】:

      猜你喜欢
      • 2016-01-02
      • 2021-06-28
      • 1970-01-01
      • 2020-04-26
      • 2018-04-03
      • 2019-04-03
      • 2015-07-20
      • 2019-06-28
      • 2020-03-18
      相关资源
      最近更新 更多