# token_server **Repository Path**: thinkinpg/token_server ## Basic Information - **Project Name**: token_server - **Description**: 访问令牌服务器 - **Primary Language**: Lua - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 9 - **Created**: 2018-04-26 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #简介 这个项目,采用OpenResty,实现了一个令牌服务器,主要包括令牌申请、令牌延期、令牌效验、令牌删除、令牌个数查询多个接口,以HTTP+JSON提供调用 #包括几个部分 lua_scripts 用于部署到OpenResty的Lua业务脚本,实现了上面提到的接口,每一个文件包含请求报文和应答报文的示例 lualib 用于部署到OpenResty的Lua库脚本 nginx/conf/nginx.conf OpenResty的配置文件 #安装 上面的目录都是相对于OpenResty的根目录下的子目录 把lualib里的文件放到OpenResty的lualib目录下 把lua_scripts放到OpenResty根目录下,与lualib目录在同一级 不用类型的令牌存储的配置见redis_config.lua 不同类型的令牌的同步配置见syncr_config.lua,需要参考redis_sync的配置 #依赖 [redis_sync](https://git.oschina.net/kevin158/redis_sync) #特性 1,支持多数据中心,通过多写来实现多数据中心间的主Redis节点的数据同步 2,Nginx直接执行Lua脚本,性能较好 #示例 1,/apply_token 令牌申请 > Request body::: > { > "service_type":"SHOPPING", > "user_identify":"dadf233dfadf1132124", > "at_expire_secs":1800, > "user_member_level":"1", > "user_term_type":"MOBILE/Andriod", > "user_term_ip":"112.11.1.10" > } ---- > Response body::: > { > "status":0, > "status_desc":"", > "token":"eyJleHBpcmVfdGltZSI6MTQ2OTE4OTMxMSwibWVtYmVyX2xldmVsIjoiMSIsImxvZ2luX2F1dGgiOiJqYWNrIiwidmFsaWRpdHkiOjMwLCJjbGllbnRfaXAiOiIxMTIuMTEuMS4xMCIsImNsaWVudF90eXBlIjoiaXBob25lIn0=" > } 2,/check_token 令牌效验 > Request body::: > { > "service_type":"SHOPPING", > "token":"eyJleHBpcmVfdGltZSI6MTQ2OTE4OTMxMSwibWVtYmVyX2xldmVsIjoiMSIsImxvZ2luX2F1dGgiOiJqYWNrIiwidmFsaWRpdHkiOjMwLCJjbGllbnRfaXAiOiIxMTIuMTEuMS4xMCIsImNsaWVudF90eXBlIjoiaXBob25lIn0=" > } ---- > Response body::: > { > "status":0, > "status_desc":"" > } 3,/keep_token 令牌延期 > Request body::: > { > "service_type":"SHOPPING", > "token":"eyJleHBpcmVfdGltZSI6MTQ2OTE4OTMxMSwibWVtYmVyX2xldmVsIjoiMSIsImxvZ2luX2F1dGgiOiJqYWNrIiwidmFsaWRpdHkiOjMwLCJjbGllbnRfaXAiOiIxMTIuMTEuMS4xMCIsImNsaWVudF90eXBlIjoiaXBob25lIn0=" > } ---- > Response body::: > { > "status":0, > "status_desc":"", > "token":"WyJleHBpcmVfdGltZSI6MTQ2OTE4OTMxMSwibWVtYmVyX2xldmVsIjoiMSIsImxvZ2luX2F1dGgiOiJqYWNrIiwidmFsaWRpdHkiOjMwLCJjbGllbnRfaXAiOiIxMTIuMTEuMS4xMCIsImNsaWVudF90eXBlIjoiaXBob25lIn0=" > } > 4,/remove_token 令牌删除 > Request body::: > { > "service_type":"SHOPPING", > "token":"eyJleHBpcmVfdGltZSI6MTQ2OTE4OTMxMSwibWVtYmVyX2xldmVsIjoiMSIsImxvZ2luX2F1dGgiOiJqYWNrIiwidmFsaWRpdHkiOjMwLCJjbGllbnRfaXAiOiIxMTIuMTEuMS4xMCIsImNsaWVudF90eXBlIjoiaXBob25lIn0=" > } ---- > Response body::: > { > "status":0, > "status_desc":"" > } > 5,/count_token 令牌个数查询 > Request body::: > { > "service_type":"SHOPPING" > } ---- > Response body::: > { > "count":188, > "status":0, > "status_desc":"" > }