1、前言

在上章文章中我们已经介绍了key-auth插件的配置使用方式、还不了解的可以回顾下《【API网关kong系列八】- key-auth插件

本章我们继续插件的介绍。

2、Basic 插件

2.1 启用插件

Basic插件和key-auth插件的启用基本相同, 都可以安装配置在Service或者Route上。

2.1.1 Service上启用Basic插件

 $ curl -X POST http://localhost:8001/services/example-service/plugins \
    --data "name=basic-auth"  \
    --data "config.hide_credentials=true"

2.1.2 Route上启用插件

 $ curl -X POST http://localhost:8001/routes/{route_id}/plugins \
    --data "name=basic-auth"  \
    --data "config.hide_credentials=true"

2.2 使用插件

2.2.1 创建一个Consumer

$ curl -d "username=base-auth&custom_id=BASE_AUTH_CUSTOM_ID" http://localhost:8001/consumers/

2.2.2 创建一个凭证

$  curl -X POST http://localhost:8001/consumers/base-auth/basic-auth \
    --data "username=Aladdin" \
    --data “password=OpenSesame"

3 使用&验证凭证

授权头必须时Base64编码的,例如,如果凭证用户时Aladdin, 密码是 openSesame,那么就是Aladdin:openSesame的Base64编码,即 QWxhZGRpbjpPcGVuU2VzYW1l。

curl -i -X GET \
  --url http://localhost:8000 \
  --header "Host: example.com" \
  --header 'Authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l'

4 Basic API 介绍

形式参数 默认值 描述
name 插件名称
service_id 服务标示
route_id 路由标示
enabled true 是否启用
config.hide_credentials false 插件上有服务中显示或者隐藏凭证
config.anonymous 如果身份验证失败,该值(消费之uuid)用做匿名使用者。如果为空,请求失败提示认证失败 4xx,注意这个值必须制定消费者id属性,而不是他的custom_id
config.ren_on_preflight 如果设置为true那么插件将运行在请求之前。 如果为false那么请求将总是被允许。

5、总结

Basic插件的启用和使用都非常简单, 和Key-auth的插件使用方式基本一样, 需要以下基本,
1: 启用一个插件(Service or Route)
2: 创建一个Consumer

想了解更多关于Kong网关的请移步 >>>>> 企业级API网关Kong

阅历笔记
279 声望37 粉丝

喷泉之所以漂亮是因为她有了压力;