在我们接入微信,百度等接口时,我们需要秘钥生成sign。每次请求接口时,都需要生成签名。在客户端请求接口时,一般都是秘钥+post参数的形式加密,url的形式发送给接口。服务器接受到参数,通过读取数据库对应的秘钥,以同样的方式进行加密。其实在客户端发送数据前,可以对数据进行加密。php中自带mcrypt扩展,可以在客户端设置key,进入mcrypt加密,加密方式和模式自己百度。服务器同样有个对应的key,只有相同的key才能解密。服务器接受到数据,对数进行解密才能生成sign。注意:每次请求都需要sign.
token验证同样也是使用app_id和app_secret拼接成url去换取token和expire。服务器将token写进数据库。客户端把token和expire存在session中,每次请求接口时,先判断expire是否超时,如果超时将重新获取token。同时服务器也限制每天生成token的次数。超过一定的次数将拒绝访问。服务器检验token是否正确是查数据库的。