Basic验证插件 - 玩转Kong插件

如何启用插件?

1、通过以下请求在服务上配置这个插件:

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

2、在路由上启用插件:

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

3、在API上启用插件(API管理自0.13.0版本已过时)

$ curl -X POST http://kong:8001/apis/{api}/plugins \
    --data "name=basic-auth"  \
    --data "config.hide_credentials=true"

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

形式参数默认值描述
name插件名称, 这里是 basic-auth
service_id插件针对的服务ID
route_id插件针对的路由ID
enabledtrue插件是否可用
api_id插件针对的API模块
config.hide_credentials 可选 false可选的布尔值,告诉插件从上游服务中显示或隐藏凭证. 如果为"true",插件将在代理之前将凭据从请求中剥离(例如:Authorization 头部)
config.anonymous 可选 可选字符串,如果身份验证失败,该值(消费者uuid)用作“匿名”使用者。 如果空(默认),请求失败将提示认证失败“4xx”。请注意,这个值必须是指向消费者 id属性, 而不是 它的 custom_id.

一旦应用,任何具有有效凭证的用户都可以访问Service/API。要限制只有部分经过身份验证的用户,还可以添加ACL插件,并创建白名单或黑名单用户组。

如何使用插件?

1、 创建一个消费者:

curl -d "username=user123&custom_id=SOME_CUSTOM_ID" http://kong:8001/consumers/
参数默认值描述
username 半可选 必须制定username或custom_id其中一个
custom_id 半可选 必须制定username或custom_id其中一个

一个消费者可以有很多凭证。如果您还使用该服务的ACL插件和白名单,您必须将新消费者添加到白名单组。

2、创建一个凭证

您可以通过发出以下HTTP请求来提供新的用户名/密码凭证:

$ curl -X POST http://kong:8001/consumers/{consumer}/basic-auth \
    --data "username=Aladdin" \
    --data "password=OpenSesame"

3、使用凭证

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

$ curl http://kong:8000/{path matching a configured Route} \
    -H 'Authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l'

4、上游头部

当客户端经过身份验证时,插件会在将其代理到上游服务之前,在请求中附加一些头信息,这样您就可以在代码中识别使用者:

  • X-Consumer-ID,消费者ID
  • X-Consumer-Custom-ID, 消费者的custom_id (如果有设置)
  • X-Consumer-Username, 消费者的username (如果有设置)
  • X-Credential-Username, 证书的username (只有当消费者不是anonymous消费者的时候)
  • X-Anonymous-Consumer, 当身份验证失败时,将被设置为true,取而代之的是anonymous消费者。

5、通过basic-auth凭证进行分页

$ curl -X GET http://kong:8001/basic-auths
属性描述
id 可选 basic-auth认证id
username 可选 basic-auth认证用户名
consumer_id 可选 A filter on the list based on the basic-auth credential consumer_id field.
size 可选,默认100 要返回的对象数量
offset 可选 分页的游标、偏移

6、检索与凭证相关联的消费者

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

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

使用基于URL regexp的数据自动登录到基本身份验证。 此扩展名使您可以注册与正则表达式关联的凭据。当您浏览需要HTTP基本身份验证的网站时,其URL将与正则表达式匹配,并且如果找到匹配项,则将自动发送凭据 MultiPass地址栏图标上的绿色徽标表示您已正确通过身份验证,红色徽标表示凭据已被拒绝,最后黄色徽标表示此域存在多个匹配项。如果您要报告问题,请使用Github问题跟踪器:https://github.com/krtek4/MultiPass/issues Changelog 0.8.0-22/11/2018-删除Google Analytics 0.8.1-22/11 / 2018-避免在有问题的正则表达式0.8.2上破坏整个扩展名-2018年11月22日-删除onAuthRequired hack,因为FF在一年的大部分时间里都支持它0.8.3-01/12/2018-波兰语翻译0.7.0- 27/02/2017-防止XSS,添加选项以禁用Analytics 0.7.1-27/03/2017-更好地检测存储名称空间0.7.2-09/06/2017-避免在正则表达式太长时弄乱布局0.7 .3-2009年9月6日-在规则0.7.3中添加优先级字段-2017年6月13日-添加缺少的翻译版本0.6.0-2016年6月11日-正则表达式测试器,Firefox支持0.6.1-08/11 / 2016-Opera支持0.6.2-13/11/2016-德语和荷兰语翻译,修复了突出显示0.6.3的问题-2016/11/18-删除了jQuery依赖项0.6.4-18/11/2016-改进了测试器,修复版本,改进分析功能0.6.5-14/02/2017-禁用Fire中的跟踪狐狸,减少分析次数0.5.3-2016年6月11日-法语翻译0.5.2-2016年5月11日-恢复分析0.5.1-2016年10月30日-解决了新添加的凭据不存在的问题在重新启动之前可用0.5.0-2016年10月29日-改进翻译机制0.4.3-24/09/2015-修复了添加凭据时的问题0.4.2-22/09/2015-重置按钮0.4.1-22 / 09/2015-允许条目版本0.4.0-2014年11月11日-样式,突出显示与弹出窗口中当前URL匹配的正则表达式0.3.2-2014年6月8日-修复了分析0.3.1-2014年6月8日-修复了徽章问题0.3.0-2014年4月8日-避免错误循环,显示徽章,JSON凭证导入0.2.0-2014年4月8日-新选项面板0.1.2-2014年4月8日-添加Google Analytics(分析) 0.1.1-30/07/2014-从Chrome BasicAuth重命名为MultiPass 0.1.0-2014/07/28-初始版本 支持语言:Deutsch,English,Français,Nederlands,italiano,polski
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值