访问控制与鉴权设计
设计 访问控制 鉴权
2023-09-27 14:29:11 时间
一.访问控制
为了保证用户不会通过系统发起过多访问导致影响正常用户的体验,每一个API接口都有一定的访问频率限制。
访问频率主要基于用户来源IP和操作者用户名进行限制。当前的频率限制参数为:1000次/5分钟/接口/用户名(appkey)
二.调用参数
三.签名sign原理
调用API时需要对请求参数进行签名验证,服务器也会对该请求参数进行验证是否合法的。方法如下:
(1)根据参数名称(除签名和图片)将所有请求参数按照字母先后顺序排序:key + value .... key + value
例如:将foo=1,bar=2,baz=3 排序为bar=2,baz=3,foo=1,参数名和参数值链接后,得到拼装字符串bar2baz3foo1
(2)系统同时支持MD5加密方式
md5:将secret 拼接到参数字符串头加密后,再转化成大写,格式是:byte2hex(md5(secretkey1value1key2value2.))
操作步骤如下:
第一步:把参数按Key的字母顺序排序
第二步:把所有参数名和参数值串在一起
第三步:使用MD5加密
第四步:把二进制转化为大写的十六进制
四、案例
1. 设定一个密钥,比如key='2323dsfadfewrasa3434',该key只有发送方(如:APP、IOS、ANDROID)和接收方(如:服务器端)知道。
2. 发送方调用时,通过签名原理生成一个access_key。
3. 接收方调用时,同样通过签名原理生成一个access_key2。
4. 比较access_key 和access_key2 内容是否一样。一样则允许操作,不一样,报错返回或者加入黑名单
App开放接口api安全性—Token签名sign的设计与实现
相关文章
- 基于线上考研资讯数据抓取的推荐系统的设计与实现(论文+源码)_kaic
- 基于Android的人事管理系统设计与实现(论文+源码)_kaic
- PowerDotNet平台化软件架构设计与实现系列(06):定时任务调度平台
- 设计原则
- 从顶层设计出发 联想集团与泛华集团共画中国智慧城市蓝图
- 【设计总结】下厨房
- 基于角色访问控制的OA系统的设计与实现
- Java类的设计----访问控制
- 优秀案例:空白在网页设计中的合理使用
- 经典网页设计:无缝过渡的响应式设计案例
- Camunda Modeler流程图设计器安装
- 嵌入式软件设计(rt-thread使用)
- 不容错过!什么是领域驱动设计?为什么落地这么难?
- 设计一个你自己不会去用的产品
- 你的设计应该「所见即所得」
- Enterprise Library Policy Injection Application Block 之二: PIAB设计和实现原理
- chapter 7 用函数实现模块化设计
- 【webpack进阶】前端运行时的模块化设计与实现