Kong的插件:Basic Authentication
Basic Authentication
这个是个基础的认证方式,服务端设置用户和密码,客户端发送请求时在头部设置用户和密码,服务端接收到以后对请求进行校验,如果通过,则处理请求,否则返回401Unauthorized。
Kong实现Basic Authentication
-试验的 前提
已经创建好了route和service,并且能正常访问,如果没有创建好的话,可以参考https://blog.csdn.net/u014686399/article/details/100084613,我的试验也是基于这个前提的
对服务启用插件
/services/2fc52878-1fe9-48ba-bc45-146da3822851/plugins POST
{"name":"basic-auth"
}
- name字段里的basic-auth是固定的,这个是插件的名字
- 2fc52878-1fe9-48ba-bc45-146da3822851 这是service的ID
- 当然你也可以通过,在route上启用插件
curl -X POST http://kong:8001/routes/{route}/plugins \ --data "name=basic-auth" \ --data "config.hide_credentials=true"
创建consumer
consumers POST
{"username":"xjj_user_01",
"custom_id":"users_001"
}
创建证书
/consumers/f4c713c0-6bf1-4079-83a0-135180d6ba53/basic-auth POST
{"username":"rita",
"password":"123.com"
}
- f4c713c0-6bf1-4079-83a0-135180d6ba53 这是consumer的ID,不是 报文里的consumer_id
- username 就是请求头里的用户名,password就是请求头里的密码
- 测试
无证书访问,需要输入用户和密码
输入用户和密码
-如果你要是通过curl请求的话,要添加一个Authorization: Basic cml0YToxMjMuY29t这样的请求头
cml0YToxMjMuY29t 是吧 rita:123.com做了一个base64转码而成
先写到这里了,有问题进QQ群630300475
还没有评论,来说两句吧...