描述 oauth2简单理解与实现
思路
- 资源服务器生成一个对应的appkey(公钥)与appsecret(私钥),并下发给应用
- 应用服务器保存公钥与私钥,每次请求前使用私钥对参数进行一个签名
- 在请求资源服务器时带上请求的参数、签名与公钥
- 资源服务器根据接收到的公钥查询对应的私钥
- 资源服务器根据私钥对参数进行与应用一致的签名来验证俩次签名是否一致
思路
每次请求带上四个固定参数
- timestamp
请求的时候的时间戳 ----- 超过请求时间戳5分种之后的请求默认不处理
- sign
签名 ----- 使用私钥对参数进行签名之后得到
- appKey
应用的key ----- 与私钥是对应的,在私钥不参与传递的情况使资源服务器知道使用哪个私钥对参数进行签名
- method
请求的资源名称 ----- 每个资源有对应的资源名称
示例
- 将参数名称进行排序
- 将参数以键值对的形式生成一个字符串
- 在字符串的前面加上私钥与method,最后也加上一个私钥
- 进行sha/md5排序签名
备注:具体的签名方式根据情况而定,此处提供一个思路