在Kong网关中使用JWT认证

本文详细介绍了如何在Kong网关中配置JWT认证,包括添加JWT插件、生成Consumer的JWT credentials以及测试流程。通过使用JWT,可以实现更安全、紧凑的认证方式,同时提到了JWT认证在多Consumer场景下的扩展应用和相关参考资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Kong网关中使用JWT认证

前言

Kong网关快速入门指南 一文中介绍了Key认证和HMAC认证方式,本文介绍在Kong网关中使用JWT认证。

JWT介绍

参见:

简单归纳一下JWT(JSON Web Token)的特点:

  • 是一种JSON格式(未对Token本身Base64编码前)的Token
  • JSON格式,数据更紧凑,网络传输数据量小,编码解码速度快,前后端多种编程语言都会JSON有很好的支持
  • 基于Token的认证已经成为认证的主流方式(较早之前的认证是基于Session的),更安全,在Web和App上都可以使用。
  • Token采用消息发送方和接收方都知道的shared secret来作HmacSHA签名和验签,安全程度高,即使泄漏Token也无法破解secret。
  • Token有有效期,可有效降低被重放攻击(replay attack)的风险
  • Token本身可内省(introspection),Resource Server只要有shared secret无需调用Authorization Server的内省(introspection)接口也可以验签。
  • 相比HMAC认证,更简单。

JWT认证

添加JWT插件

在Service下添加JWT插件,全部保持默认值。

查看插件详情:

uri param names: `jwt`
key claim name: `iss`
secret is base64: NO #NO表示不对secret作Base64编码
headers names: `authorization`

说明:

  • 把后面要生成的JWT credential的key作为JWT payload中的iss 字段(issuer缩写,令牌颁发者)。

生成Consumer的JWT credentials

保持全部默认值来生成Consumer的JWT credentials。

示例:

{
   
  "tags": null,
  "secret": "pdDcyjZUrOaUY2HDIrrgRnG7ix0hNf7B",
  "consumer": {
   
    "id": "c3202163-d7b8-4604-8137-466109590fd2"
  },
  "algorithm": "HS256",
  "rsa_public_key": null,
  "id": "e23be144-26b9-4f3a-8938-ceddc34d2e23",
  "created_at": 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值