服务器令牌文件,token_server

该项目使用OpenResty构建了一个令牌服务器,提供了令牌申请、延期、验证、删除和查询接口。服务器支持多数据中心数据同步,利用Lua脚本直接在Nginx中执行,以提升性能。接口通过HTTP+JSON交互,涉及Redis存储和多写机制确保数据一致性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#简介

这个项目,采用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的配置

#依赖

#特性

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":""

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值