Key验证 - 玩转Kong插件

如何启用Key验证?

1、在服务上启用插件

$ curl -X POST http://kong:8001/services/{service}/plugins \
   --data "name=key-auth" 

2、在路由上启用插件

$ curl -X POST http://kong:8001/routes/{route_id}/plugins \
    --data "name=key-auth" 

3、在API上启用插件

$ curl -X POST http://kong:8001/apis/{api}/plugins \
    --data "name=key-auth"

所有插件都可以使用 http://kong:8001/plugins/ 进行通用配置。这是与任何服务、路由或消费者都无关的插件,它是“公共的”,并且将在每个请求上运行。下面是key-auth参数列表

形式参数默认值描述
name插件名称,这里是key-auth
service_id服务ID
route_id路由ID
enabledtrue是否可用.
api_idAPI ID
config.key_names optional apikeykey名称,用逗号隔开。只包含 [a-z], [A-Z], [0-9], [_] 和 [-].
config.key_in_body optional false如果启用,插件读取的请求主体,并尝试从中读取key. 支持的 MIME 类型 application/www-form-urlencoded, application/json, 和multipart/form-data.
config.hide_credentials optional false插件上游服务中显示或隐藏凭证.
config.anonymous optional 如果身份验证失败,该值(消费者uuid)用作“匿名”使用者。 如果空(默认),请求失败将提示认证失败“4xx”。请注意,这个值必须是指向消费者 id属性, 而不是 它的 custom_id.
config.run_on_preflight optional true如果设为true那么插件将运行在请求之前;如果设为 false 那么请求将总是被允许.

如何使用Key验证?

1、创建消费者

$ curl -X POST http://kong:8001/consumers/ \
    --data "username=<USERNAME>" \
    --data "custom_id=<CUSTOM_ID>"

2、创建Key

$ curl -X POST http://kong:8001/consumers/{consumer}/key-auth -d ''
HTTP/1.1 201 Created

{
    "consumer_id": "876bf719-8f18-4ce5-cc9f-5b5af6c36007",
    "created_at": 1443371053000,
    "id": "62a7d3b7-b995-49f9-c9c8-bac4d781fb59",
    "key": "62eb165c070a41d5c1b58d9d3d725ca1"
}

3、使用Key验证

$ curl http://kong:8000/{proxy path}?apikey=<some_key>
# 或者
$ curl http://kong:8000/{proxy path} \
    -H 'apikey: <some_key>'

4、删除Key验证

$ curl -X DELETE http://kong:8001/consumers/{consumer}/key-auth/{id}

5、上游头部(同Basic验证插件)

6、分页查询

$ curl -X GET http://kong:8001/key-auths

7、检索与密钥相关联的使用者

curl -X GET http://kong:8001/key-auths/{key or id}/consumer

转载于:https://my.oschina.net/u/1404949/blog/3039477

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值