1、简单型的
直接对参数做签名,签名对象:应用ID、随机串、时间戳,然后采用aes加密(私钥从开放平台获取,不公开)
百度地图类似,把请求URL+私钥,做md5签名。
2、复杂型的
微信公众号平台:
把各应用当做一个浏览器,会话有超时一说,需要定期去刷新access_token。
应用所有请求需要带上access_token参数。平台下发消息也可选择加密并签名。
下发消息校验:签名校验(token+timestamp+nonce随机串),消息体签名校验,消息体用aes解密。
公众号菜单获取openid也是绕了一下,先是生成一个code回调应用,应用根据code+appid+access_token,再来获取到openid。