kong身份认证插件详解之Basic Auth插件

1.3、Basic Authentication

支持基于用户名和密码的基本认证,通常用于简单的身份验证场景。

1.3.1、环境准备

1.3.1.1、创建一个服务,basic-auth-service
curl -i -s -X POST http://localhost:8001/services \--data name=basic-auth-service \--data url='http://localhost:8080'

http://localhost:8080 端口是运行一个Go的服务,请求/hello将返回对应的数据。

将会返回数据:

Hello, kong,I'm runing at 8080!
1.3.1.2、创建对应的路由,basic-auth-route
curl -i -X POST http://localhost:8001/services/basic-auth-service/routes \--data 'paths[]=/basic-auth' \--data name=basic-auth-route
1.3.1.3、测试环境
[root@iZbp1ivu3yaedumdy0va2vZ kong]# curl http://localhost:8000/basic-auth/hello
Hello, kong,I'm runing at 8080!

看到如下输出,证明已经环境已经搭建OK。

1.3.2 插件安装

安装basic authentication插件

1.3.2 .1、服务范围内安装
curl -X POST http://localhost:8001/services/basic-auth-service/plugins \--header "accept: application/json" \--header "Content-Type: application/json" \--data '{"name": "basic-auth","config": {"hide_credentials": true}
}'
1.3.2 .2、route范围内按照
curl -X POST http://localhost:8001/routes/basic-auth-route/plugins \--header "accept: application/json" \--header "Content-Type: application/json" \--data '{"name": "basic-auth","config": {"hide_credentials": true}
}'
1.3.2.3、全局范围安装
curl -X POST http://localhost:8001/plugins/ \--header "accept: application/json" \--header "Content-Type: application/json" \--data '{"name": "basic-auth","config": {"hide_credentials": true}
}'

1.3.3、测试插件效果

如果开启了basic-auth插件,直接访问。将会出现如下错误信息:

[root@iZbp1ivu3yaedumdy0va2vZ ~]# curl http://localhost:8000/basic-auth/hello
{"message":"Unauthorized","request_id":"c6301004ca5d8e72f932746c08a0ce44"
}
  • 创建用户
curl -X POST http://localhost:8001/consumers -d username=alex
  • 给用户授予basic auth权限
curl -X POST http://localhost:8001/consumers/alex/basic-auth \-d username=alex \-d password=secret123
  • 执行访问

    [root@iZbp1ivu3yaedumdy0va2vZ ~]# curl -u alex:secret123  http://localhost:8000/basic-auth/hello
    Hello, kong,I'm runing at 8080!
    
    [root@iZbp1ivu3yaedumdy0va2vZ ~]# echo "alex:secret123" | base64
    YWxleDpzZWNyZXQxMjMK
    [root@iZbp1ivu3yaedumdy0va2vZ ~]# curl http://localhost:8000/basic-auth/hello \-H 'Authorization: Basic YWxleDpzZWNyZXQxMjMK'
    Hello, kong,I'm runing at 8080!
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/70111.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机性能与网络体系结构探讨 —— 基于《计算机网络》谢希仁第八版

(꒪ꇴ꒪ ),Hello我是祐言QAQ我的博客主页:C/C语言,数据结构,Linux基础,ARM开发板,网络编程等领域UP🌍快上🚘,一起学习,让我们成为一个强大的攻城狮&#xff0…

spring boot知识点1

1.什么是spring boot spring boot是spring框架的子项目,主要特点是自动配置,以及内置的tomcat服务器,适合快速开发web与微服务架构 2.spring boot和spring cloud俩者之间的联系 spring boot可单独运行, spring cloud则是用于多…

thingboard告警信息格式美化

原始报警json内容: { "severity": "CRITICAL","acknowledged": false,"cleared": false,"assigneeId": null,"startTs": 1739801102349,"endTs": 1739801102349,"ackTs": 0,&quo…

【个人开发】deepspeed+Llama-factory 本地数据多卡Lora微调

文章目录 1.背景2.微调方式2.1 关键环境版本信息2.2 步骤2.2.1 下载llama-factory2.2.2 准备数据集2.2.3 微调模式2.2.3.1 zero-3微调2.2.3.2 zero-2微调2.2.3.3 单卡Lora微调 2.3 踩坑经验2.3.1 问题一:ValueError: Undefined dataset xxxx in dataset_info.json.2…

Python函数的函数名250217

函数名其实就是一个变量,这个变量就是代指函数而已函数也可以被哈希,所以函数名也可以当作集合中的元素,也可作为字典的key值 # 将函数作为字典中的值,可以避免写大量的if...else语句 def fun1():return 123 def fun2():return 4…

apache artemis安装

安装apache artemis https://xxzkid.github.io/2025/apache-artemis-install

VoIP之音视频会议中的混音技术

在VoIP音视频会议中,需要将多路参会方音频流混合成一路音频流再发送给各参会方,以达到参会方可以听到每个与会人声音的目的,这种技术叫混音。 一、混音基础原理 在实际生活中,我们所处的生活和工作环境就是一个自然的混音场&…

青龙圣者的训练脚本训练 Flux lora

下载 通过网盘分享的文件:qinglong_trainer_21.zip 链接: https://pan.baidu.com/s/12JL1c-gwTR5zzqHAPNleRA?pwd7860 提取码: 7860 搭建python环境 conda create -n qinglong python3.10.14 -yconda activate qinglongcd qinglong_trainer_21pip install -r s…

音视频入门基础:RTP专题(9)——FFmpeg接收RTP流的原理和内部实现

一、引言 由《音视频入门基础:RTP专题(2)——使用FFmpeg命令生成RTP流》可以知道,推流端通过下面FFmpeg命令可以将一个媒体文件转推RTP,生成RTP流: ffmpeg -re -stream_loop -1 -i input.mp4 -vcodec cop…

matlab 三维时频图绘制

1、内容简介 matlab146-三维时频图绘制 可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 4、参考论文 略

基于 Ollama 工具的 LLM 大语言模型如何部署,以 DeepSeek 14B 本地部署为例

简简单单 Online zuozuo :本心、输入输出、结果 文章目录 基于 Ollama 工具的 LLM 大语言模型如何部署,以 DeepSeek 14B 本地部署为例前言下载 Ollama实际部署所需的硬件要求设置 LLM 使用 GPU ,发挥 100% GPU 性能Ollama 大模型管理命令大模型的实际运行资源消耗基于 Ollam…

PAT乙级( 1018 锤子剪刀布)C语言超详细解析

文章目录 1018 锤子剪刀布 1018 锤子剪刀布 大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示: 现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。 输入…

2025 年 2 月 TIOBE 指数

2025 年 2 月 TIOBE 指数 二月头条:快,更快,最快! 现在,世界需要每秒处理越来越多的数字,而硬件的发展速度却不够快,程序的速度变得越来越重要。话虽如此,快速编程语言在 TIOBE 指数中取得进展也就不足为奇了。编程语言 C++ 最近攀升至第 2 位,Go 已稳居前 10 名,Ru…

【硬件设计细节】缓冲驱动器使用注意事项

目录 一、缓冲驱动器核心功能与选型原则 二、电路设计关键点 三、布局与布线规范 四、特殊场景处理 五、测试与验证 六、典型问题与解决方案 七、设计流程建议 一、缓冲驱动器核心功能与选型原则 信号增强与隔离 驱动能力匹配:根据负载电流需求选择缓冲器&a…

TCP

TCP 是什么? TCP ( Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。 TCP 对应的应用层协议 FTP:定义了文件传输协议,使用 21 端口 TeInet:它是一种用于远程登…

HTML5+CSS多层级ol标签序号样式问题

在CSS中,ol标签用于创建有序列表,而多层级的ol标签可以通过CSS实现不同的序号样式。以下是一些常见的问题和解决方案: 1. 多层级ol的序号格式问题 默认情况下,多层级的ol标签会自动继承父级的序号格式,但有时我们可能…

人工智能3d点云之Pointnet++项目实战源码解读(点云分类与分割)

一.项目文件概述 二.数据读取模块配置 实际代码运行时是先定义与加载好模型,然后再去读取数据进来传入到模型网络中去训练。但现在反过来先读取数据开始。 进入ModelNetDataLoader类的_getitem方法, 做标准化的目的是处理异常大的数值 上面返回的cls是类别,相当于…

[250217] x-cmd 发布 v0.5.3:新增 DeepSeek AI 模型支持及飞书/钉钉群机器人 Webhook 管理

目录 X-CMD 发布 v0.5.3📃Changelog🧩 deepseek🧩 feishu|dingtalk📦 x-cmd✅ 升级指南 X-CMD 发布 v0.5.3 📃Changelog 🧩 deepseek 新增 deepseek 模块,用户可通过 deepseek 直接请求使用 …

图论:tarjan 算法求解强连通分量

题目描述 有一个 n n n 个点, m m m 条边的有向图,请求出这个图点数大于 1 1 1 的强连通分量个数。 输入格式 第一行为两个整数 n n n 和 m m m。 第二行至 m 1 m1 m1 行,每一行有两个整数 a a a 和 b b b,表示有一条…

led+串口代码 重定向 STM32F030F4P6 fgetc multiply defined错误

led串口 重定向 STM32F030F4P6 重定向报错 axf: Error: L6200E: Symbol fgetc multiply defined (by usart.o and main.o). 把 #include "stdio.h" int fputc(int ch, FILE *fp) {HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xffff);return ch; }int f…