API网关Kong使用指南(四)—— hmac-auth插件配置

1、概述

为了提高系统的安全性,引入认证功能是非常迫切和必须的。由于认证是一个通用功能,没有必要每个系统各自实现,造成重复劳动,因此,我们在Kong转发时配置了认证插件。

2、选型

Kong官网提供的关于认证插件很多,有17个之多,我们挑选了其中三个比较适合的插件作出对比:

插件 名称 功能 安全系数
key-auth Key认证 在Headers中添加apikey作为认证凭证
basic-auth Basic认证 在Headers中添加Authorization认证信息,其中用户名/密码使用BASE64编码 低,适用于机器之间认证
hmac-auth HMAC认证 在Headers中添加Authorization认证信息,包括用户名、签名等,可防止请求内容被篡改 中,适用于人机认证

参考淘宝及中通开放平台的api协议规则,它们也是采用类似HMAC这种带签名的认证方式实现防篡改功能,因而,我们决定采用hmac-auth插件提供认证功能。

3、添加插件

由于我们不能确定日后所有 Service 都必须支持认证功能,所以暂时不能把这个认证插件配置成全局插件。于是,我们的配置插件步骤是:

  1. 找到指定 Service 并打开它的详细页面,并点击【Plugins】菜单
    image.png
  2. 在当前服务的插件页面中,点击【ADD PLUGIN】按钮


    image.png
  3. 在弹出的插件列表窗口中,选择 Hmac Auth 插件


    image.png
  4. 在弹出的插件配置窗口中,根据需求填写相关项目内容,请注意 enforce headers 和 algorithms 项目在输入内容后需要回车才能有效提交
    image.png

    至此,认证插件已经成功添加到 Service 上。

4、添加消费者和证书

虽然插件已经生效,但没有相关证书是无法有效使用的,所以此时要添加消费者和证书。此处步骤相对简单。

  1. 添加消费者


    image.png
  2. 在当前消费者中添加证书,建议 secret 不填则自动生成


    image.png

5、参考资料

  1. 淘宝开放平台 - API调用协议
  2. 中通接口调用说明

系列链接

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。