为kong网关添加key-auth插件实现安全认证

news/2024/10/18 23:29:39/

官方指导文档:https://docs.konghq.com/gateway/latest/get-started/key-authentication/

一、新建一个用户

这里我们新建一个username=luka的用户

[root@min ~]# curl -i -X POST http://localhost:8001/consumers/ \
>   --data username=luka
HTTP/1.1 201 Created
Date: Tue, 30 May 2023 14:16:56 GMT
Content-Type: application/json; charset=utf-8
Connection: keep-alive
Access-Control-Allow-Origin: http://localhost:8002
X-Kong-Admin-Request-ID: bDQSAZLydiS5oRKeaELyg1ul17eAC7Fo
vary: Origin
Access-Control-Allow-Credentials: true
vary: Origin
Content-Length: 173
X-Kong-Admin-Latency: 18
Server: kong/3.3.0.0-enterprise-edition{"created_at":1685456216,"custom_id":null,"username":"luka","tags":null,"type":0,"id":"2385bb30-9c0b-4aae-9dc8-34c3b0191589","username_lower":"luka","updated_at":1685456216}[root@min ~]# 

二、为用户luka分配一个key

[root@min ~]# curl -i -X POST http://localhost:8001/consumers/luka/key-auth
HTTP/1.1 201 Created
Date: Tue, 30 May 2023 14:20:24 GMT
Content-Type: application/json; charset=utf-8
Connection: keep-alive
Access-Control-Allow-Origin: http://localhost:8002
X-Kong-Admin-Request-ID: f7kYQ2qPNXyVM1sWh3OwLeDNIHDV77I2
vary: Origin
Access-Control-Allow-Credentials: true
Content-Length: 190
X-Kong-Admin-Latency: 10
Server: kong/3.3.0.0-enterprise-edition{"created_at":1685456424,"id":"796e126a-5e61-41ad-a4ba-404a71feb3bd","ttl":null,"tags":null,"key":"mZiuw2s2mJvFTbwhVx1zpYzFGaUbS2t1","consumer":{"id":"2385bb30-9c0b-4aae-9dc8-34c3b0191589"}}

这一步我们看到kong给我们分配一个key:mZiuw2s2mJvFTbwhVx1zpYzFGaUbS2t1

三、开启全局的key-auth

1、启用key-auth插件

[root@min ~]# curl -X POST http://localhost:8001/plugins/ \
>     --data "name=key-auth"  \
>     --data "config.key_names=apikey"
{"created_at":1685456863,"consumer":null,"protocols":["grpc","grpcs","http","https","ws","wss"],"updated_at":1685456863,"ordering":null,"enabled":true,"instance_name":null,"id":"b123cd0a-2410-4fb5-8cd1-3953ed095d4f","service":null,"name":"key-auth","tags":null,"config":{"hide_credentials":false,"key_in_body":false,"key_in_query":true,"key_in_header":true,"run_on_preflight":true,"key_names":["apikey"],"anonymous":null},"route":null}

2、不带key进行请求

在这里插入图片描述

3、携带错误的key进行请求

在这里插入图片描述

4、使用正确的key进行请求

在这里插入图片描述

四、查看当前的已经有的插件,并且取消对应插件

1、查看当前已经有的插件

[root@min ~]# curl -X GET http://192.168.19.50:8001/plugins
{"data":[{"created_at":1685456863,"consumer":null,"protocols":["grpc","grpcs","http","https","ws","wss"],"updated_at":1685456863,"ordering":null,"enabled":true,"instance_name":null,"id":"b123cd0a-2410-4fb5-8cd1-3953ed095d4f","service":null,"name":"key-auth","tags":null,"config":{"hide_credentials":false,"key_in_body":false,"key_in_query":true,"key_in_header":true,"run_on_preflight":true,"key_names":["apikey"],"anonymous":null},"route":null}],"next":null}

2、禁用插件

使用api: http://192.168.19.50:8001/plugins/{plugin_id}来进行禁用

[root@min ~]# curl -X PATCH  http://192.168.19.50:8001/plugins/b123cd0a-2410-4fb5-8cd1-3953ed095d4f --data enabled=false
{"created_at":1685456863,"consumer":null,"protocols":["grpc","grpcs","http","https","ws","wss"],"updated_at":1685458558,"ordering":null,"enabled":false,"instance_name":null,"id":"b123cd0a-2410-4fb5-8cd1-3953ed095d4f","service":null,"name":"key-auth","tags":null,"config":{"hide_credentials":false,"key_in_body":false,"key_in_query":true,"key_in_header":true,"run_on_preflight":true,"key_names":["apikey"],"anonymous":null},"route":null}

# 3、测试禁用后不携带apikey能够正常访问

在这里插入图片描述


http://www.ppmy.cn/news/107191.html

相关文章

年营收超1700亿元 中国机器人行业走向更多场景

文 | BFT机器人 中国已经连续九年成为全球最大的工业机器人应用国,同时还是全球机器人第一生产大国,2022年机器人全行业营收超过1700亿元(人民币,下同)。随着《“机器人”应用行动实施方案》的落地,机器人应用的深度和广度加速扩…

moment获取指定日期的周x,某月最后一天

安装了moment插件的情况下,使用moment处理时间,原生的Date对象是另一回事。 非官方中文网-文档 1 当前时间 moment() 2 格式化时间 YYYY/yyyy 四位数年份 MM 两位数月份 DD 两位数天 moment().format("YYYY MM DD") 2023 05 26 moment().…

【操作系统】04.设备管理

IO软件层次 IO设备 机械部件 分类 设备控制器 寄存器编址 IO控制方式 程序直接控制方式 中断驱动方式 DMA方式 通道控制方式 中断处理程序 设备驱动程序 设备独立性软件 IO调度 设备保护 设备分配与回收 静态分配和动态分配 数据结构 设备分配步骤 改进 缓冲区管理 缓冲区的…

前端面试:iframe 的优缺点

优点 作为一个完全独立的窗口去运行另一个页面,而不用去担心污染。解决加载缓慢的第三方内容如图标和广告等的加载问题并行的加载资源文件 缺点 占用同源连接数,对于每个浏览器,都会去控制并发的同源的连接数。比如说chrome的连接数是8&#…

c语言编程练习题:7-76 计算分段函数[3]

#include <stdio.h> int main(){double x;double f;if (scanf("%lf",&x)!EOF){if (x10.0){f0.1;}else{fx;}printf("f(%.1f) %.1f",x,f);}else{printf("intput x wrong");}return 0; }代码来自&#xff1a;https://yunjinqi.top/artic…

融合PWA技术的小程序:为用户带来原生应用体验

PWA代表“渐进式网络应用”&#xff08;Progressive Web Application&#xff09;。它是一种结合了网页和移动应用程序功能的技术概念。PWA旨在提供类似于原生应用程序的用户体验&#xff0c;包括离线访问、推送通知、后台同步等功能&#xff0c;同时又具有网页的优势&#xff…

02 Redis经典五种数据类型介绍及落地运用

命令大全9大类型 String(字符类型)Hash(散列类型)List(列表类型)Set(集合类型)SortedSet(有序集合类型&#xff0c;简称zset)Bitmap(位图)HyperLogLog(统计)GEO(地理)Stream&#xff08;了解&#xff09; string 常用命令 最常用 set key valueget key 同时设置/获取多个键…

2023年高级系统架构设计师 如何备考?

高级架构有一定的难度&#xff0c;但是值得挑战一下 新版《系统架构设计师考试大纲》出版了&#xff01; 可以去官网看看 系统架构设计师是软考的高级科目之一&#xff0c;系统架构设计师一年只有一次考试机会&#xff0c;是在下半年11月份考试 考试科目分为&#xff1a;综合…