API认证方式
来源:互联网 发布:最火淘宝店铺 编辑:程序博客网 时间:2024/06/05 10:13
前言
APP和后端进行交互的时候,我们都是需要考虑数据的安全性。APP想后端发起一个请求(http/https),如果别人知道这个请求的url,那如果我直接放在浏览器上请求,能不能获取到数据?
在这里我们就需要对api进行一个认证。不是什么地方的请求的都是能请求到数据的,我们只让符合我们规则的请求获取到相应的数据。
当然这种认证方式有很多,有非常简单的,也有非常复杂的。这里介绍一种相对简单并且轻量的API认证方式。
认证方式
服务端生成 App-Key
和 App-Secret
,并给到前端。
前端每次发起请求都需要在请求头中带以下四个HTTP Request Header,具体如下:
App-Signature
生成方式:SHA1(App-Secret
+ App-Nonce
+ App-Timestamp
);
即将App-Secret
、App-Nonce
和App-Timestamp
这三个字符串按先后顺序(也可以是其他顺序)进行SHA1摘要算法的加密。
服务端从请求头中获取相应的数据:
- 验证
App-Key
的准确性。 - 根据规则也生成一个
Signature
,用后端生成的和前端传输过来的相比较,如果一致就表示认证通过。
在传输过程中,这些数据都是能被外界获取的,但是App-Secret
是没有在传输过程当中的。
总结
这种方式只能说在某种程度上防止了API被乱调用,如果抓包或者稍微懂点技术的人,还是很容易攻击的。但是如果我加上https,再加上双向认证,这样就很安全了。
以上只是一种简单的方案,如果你有其他更简单或者更安全的方案,欢迎指教。
阅读全文
0 0
- API认证方式
- restful api 的HTTP认证访问方式
- API网关(TYK)简单认证方式
- elasticsearch shield 认证的两种方式(http/java api)
- kerberos 认证方式-主机认证
- RESTful API认证模式
- API 双方认证探讨
- API接口认证
- Wordpress REST API认证
- 基于http协议的api接口对于客户端的身份认证方式以及安全措施
- API接口JWT方式的Token认证(上),服务器(Laravel)的实现
- API接口JWT方式的Token认证(下),客户端(Android)的实现
- 基于http协议的api接口对于客户端的身份认证方式以及安全措施
- Rest API: 基本认证和摘要认证
- 修改mysql认证方式
- MSsql2000认证方式更改
- Web认证方式
- HTTP认证方式
- 170917 软件安装教程汇总
- LeetCode 64. Minimum Path Sum
- CVPR2017两篇基于骨架的动作识别
- JDBC连接数据库,数据库访问层
- python 与 3D 可视化----(1)
- API认证方式
- Coursera machine learning week 6(一)
- 3章 文件I/O
- 简单排序
- 航院 6213 Chinese Zodiac
- 增加测试函数计算排序函数运行时间
- Java解析属性配置文件并给占位符传参
- Apache XBean 简单介绍
- Linux使用-小程序hello world