如何设计安全可靠的开放接口---之AppId、AppSecret
文章目录
- 【如何设计安全可靠的开放接口】系列
- 前言
- AppId的使用
- AppId的生成
- AppSecret生成
- 总结
【如何设计安全可靠的开放接口】系列
1. 如何设计安全可靠的开放接口—之Token
2. 如何设计安全可靠的开放接口—之AppId、AppSecret
3. 如何设计安全可靠的开放接口—之签名(sign)
4. 如何设计安全可靠的开放接口【番外篇】—关于MD5应用的介绍
5. 如何设计安全可靠的开放接口—还有哪些安全保护措施
6. 如何设计安全可靠的开放接口—对请求参加密保护
7. 如何设计安全可靠的开放接口【番外篇】— 对称加密算法
前言
前面我们介绍过了token
机制,它可以解决单点登陆、跨域等问题,避免每次都需要用户登陆,不过并不是每个对外开放的接口都是需要用户登陆的,如果是这样,那我们就要想其他的方式来对用户身份进行验证了,一般我们会使用AppId
的方式,实际上你也可以认为它是一种token
机制,只不过换一个名字而已。
AppId的使用
因为AppId
实际上就是一个标识,所以一般只要能保证系统内全局唯一即可,不过,为了能够防止有人拿着别人的AppId
来请求,所以通常AppId
都会配对一个AppSecret
,可以理解为AppId
的密码,最终的接口请求内容会根据AppId
和AppSecret
并按照一定的规则来生成一套签名,当请求方带着签名值去请求提供方时,提供方就会验证这个签名,只有验证通过才会继续处理。
AppId的生成
正如前面所说,AppId
生成只要保证全局唯一即可,所以这里就不过多介绍了。
AppSecret生成
AppSecret
的生成也很简单,只要与AppId
能关联起来保证唯一即可。
PS:AppSecret后续会用于生成Sign(签名),因此一定要注意AppSecret的保密性,并且不能在网络中进行传输。
appSecret生成代码示例
public class AppUtils {static Map<String, String> appMap = Maps.newConcurrentMap();public static void main(String[] args) throws NoSuchAlgorithmException {// 方式一演示buildSimpleAppSecret("abc");System.out.println(getAppSecret("abc"));}/*** 构建简单的appSecret,比如:使用UUID** @param appId*/public static void buildSimpleAppSecret(String appId) {appMap.put(appId, UUID.randomUUID().toString());}private static String getAppSecret(String appId) {return String.valueOf(appMap.get(appId));}
}
总结
AppId
和AppSecret
的生成都比较简单,总的来说只要保证唯一、且能够匹配的上即可,需要注意的就是AppSecret
就像是密码一样,是需要保密的,接口请求方与接口提供方可以通过私信沟通的方式来约定AppId
和AppSecret
,当然做的比较好的是,接口提供方通过专门的工具让接口请求方自行生成AppSecret
。
另外, AppId
和AppSecret
必须要结合sign
(签名)使用,否则就没有意义,下节我们就来介绍sign
。
如何设计安全可靠的开放接口---之AppId、AppSecret相关推荐
- 如何设计安全可靠的开放接口---之Token
文章目录 [如何设计安全可靠的开放接口]系列 前言 一.Token机制 1. Token生成 2. Session存在的问题 3. JWT是如何解决Session存在的问题的 二.JWT中的数据结构 ...
- 如何设计安全可靠的开放接口---对请求参加密保护
文章目录 [如何设计安全可靠的开放接口]系列 前言 AES加解密 代码实现 [如何设计安全可靠的开放接口]系列 1. 如何设计安全可靠的开放接口-之Token 2. 如何设计安全可靠的开放接口-之Ap ...
- 如何设计安全可靠的开放接口---之签名(sign)
文章目录 [如何设计安全可靠的开放接口]系列 前言 一.前置知识 二.签名的作用 1. 数据防篡改 2. 身份防冒充 三.流程说明 前置准备 交互流程 接口请求方 接口提供方 完整代码补充 总结 [如 ...
- API 开放接口设计之 appId,appSecret,accessToken (同微信开发平台接口)
前篇:如何设计开放 Api 以下链接来源于网络素材: 需要考虑点摘录一: https://blog.csdn.net/weixin_34414196/article/details/92105613 ...
- App开放接口api安全:Token签名sign的设计与实现
点击上方蓝色"方志朋",选择"设为星标"回复"666"获取独家整理的学习资料! 来源:cnblogs.com/whcghost/p/5657 ...
- python api接口 安全_App开放接口api安全性的设计与实现
前言 在app开放接口api的设计中,避免不了的就是安全性问题,因为大多数接口涉及到用户的个人信息以及一些敏感的数据,所以对这些接口需要进行身份的认证, 那么这就需要用户提供一些信息,比如用户名密码等 ...
- 魔高一丈道高一尺,开放接口安全性设计
2019独角兽企业重金招聘Python工程师标准>>> 乐猿社区,程序员的花果山 问题 在开放接口api的设计中,避免不了的就是安全性问题,因为大多数接口涉及到用户的个人信息以及一些 ...
- 开放接口/RESTful/Api服务的设计和安全方案详解
一.总体思路 这个涉及到两个方面问题: 一个是接口访问认证问题,主要解决谁可以使用接口(用户登录验证.来路验证) 一个是数据数据传输安全,主要解决接口数据被监听(HTTPS安全传输.敏感内容加密.数字 ...
- 如何设计和搭建一个开放平台,提供开放接口?12张PPT给你答案
如何设计和搭建一个开放平台,提供开放接口?12张PPT给你答案 (作者:dogstar) 1.未来趋势会如何? 随着互联网技术的发展,现在已经是到达了信息化爆炸的时代,并且各种技术层出不穷.比起十多年 ...
最新文章
- 关于 Python3 的编码
- .NET Core 跨平台 串口通讯 ,Windows/Linux 串口通讯
- python flask框架是什么_Flask框架是什么?带你安装运行第一个Flask程序
- (软件工程复习核心重点)第六章实现和测试-第五节:确认测试
- byteofpython中文gitbook_Gitbook快速简明教程
- unity 后台计时器实现
- cJSON解析和打包
- Jmeter接口测试工具安装
- ECharts 前端数据可视化
- 西门子证实将出售手机业务【ZZ】
- 解决Vue history模式下路由跳转时页面404问题
- RTL8188EUS驱动程序编译步骤
- PAT基础级-黄金段位样卷1
- poi导出excel无法打开文件
- python设置excel边框_python win32com excel边框格式
- 记一次 k8s 集群单点故障引发的血案
- QQ空间JS代码原理
- MYSQL5.7设置账号密码复杂度、密码有效期、账号锁定等策略
- JavaScript video标签使用
- 通过修改rom包永久获取root权限和所有应用调试功能ro.debuggable
热门文章
- 分时技术用户可以独占计算机资源,华南理工网络教育操作系统随堂练习
- Linux文件读取操作:read函数的使用
- 电池续航智能穿戴设备突破瓶颈
- 计算机模拟虚拟筛选操作流程
- 关于MODIS数据说明及简单处理
- 亚信科技AntDB数据库荣获2022年度技术卓越奖
- 大数据分析工程师入门15-数据收集
- ​LaTex2023 软件下载+TeXstudio编辑器最新版+保姆级安装教程
- 推荐一个好用的PDF阅读器
- 教育邮箱申请jetbrains产品,免费获得AppCode、DataSpell、dotMemory、GoLand、IntelliJ IDEA、PhpStorm、PyCharm专业版