Kong是一个基于Nginx实现的开源API Gateway,可以使用Lua自定义Kong的插件来扩展功能。最近实现了一个访问auth server验证token的插件,特与大家分享。
要实现的功能是client通过Kong访问资源服务器的API,通过自定义插件实现token验证的工作。
插件实现的大致逻辑是:Kong接收到client请求,在本地缓存中读取token信息,并验证是否过期。如读取失败,则请求auth server验证token并获取信息,缓存到本地。
示例代码参考https://github.com/FlyingShit-XinHuang/kong-auth-demo 。其中handler.lua用于实现插件逻辑,schema.lua用于定义插件配置。