zfxcms ^回到顶部

您的当前位置:首页 > php资讯 > PHP基础 > 接口认证二

接口认证二

所属分类: PHP基础   2020-03-08 11:05:57  编辑:admin  浏览次数 454 次

  1. 加密模式:

    当用户第一次登录后,服务器根据用户id生成一个token并将此token返回给客户端,以后客户端只需带上这个token前来请求数据即可,无需再次带上用户名和密码。

    Ps:用户uid固定token在登陆时生成

    简单token的组成;uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名,token的前几位以哈希算法压缩成的一定长度的十六进制字符串。为防止token泄露)。

    复杂的token组成 ,简单的token(即服务器返回的token+当前请求的url接口地址)进行md5加密。后传入接口中。服务器获取接口地址,解析认证是否正确

  2. 普通模式

    客户端使用用户名和密码请求登录。服务端收到请求,验证用户名和密码。验证成功后,服务端会用户id生成一个token,然后把这个token发送给客户端。客户端收到token后把它存储起来,可以放在cookie或者Local Storage(本地存储)里。客户端每次向服务端发送请求的时候都需要带上服务端发给的token。服务端收到请求,然后去验证客户端请求里面带着token,如果验证成功,就向客户端返回请求的数据。

  3. 双重模式:

    在每次请求种都需重服务器获取一个token,再次请求数据带上token,后端判断有无token之后给出相应的内容,token服务器定时5分种删除一次

    一、签名参数sign生成的方法

    1步: 将所有参数(注意是所有参数),除去sign本身,以及值是空的参数,按参数名字母升序排序。

    第2步: 然后把排序后的参数按参数1值1参数2值2…参数n值n(这里的参数和值必须是传输参数的原始值,不能是经过处理的,如不能将"转成”后再拼接)的方式拼接成一个字符串。

    第3步: 把分配给接入方的验证密钥key拼接在第2步得到的字符串前面。

    第2步: 在上一步得到的字符串前面加上验证密钥key(这里的密钥key是接口提供方分配给接口接入方的),然后计算md5值,得到32位字符串,然后转成大写.

    第4步: 计算第3步字符串的md5值(32位),然后转成大写,得到的字符串作为sign的值。


PHP文章检索

PHP文章目录