一、什么是系统鉴权
指验证用户是否拥有访问系统的权利。
鉴权分两方面:
服务端用户鉴权,从业务数据层面对客户端进行鉴权
网络鉴权,从网络层面对客户端进行鉴权
二、有哪些系统鉴权
1、session-cookie
2、token(auth)
3、OAuth(开放授权)
4、sign(签名鉴权)
三、token鉴权流程
1、客户端使用用户名和密码请求登录
2、服务端收到请求,验证登录是否成功
3、验证成功后,服务端会返回一个Token给客户端,反之,返回身份验证失败的信息
4、客户端收到Token后把Token用一种方式存储起来
5、客户端每次发起请求时都会将Token发给服务端
6、服务端收到请求后,验证Token的合法性,合法就返回客户端所需数据,反之,返回验证失败的信息
四、token鉴权特性
1、随机性:每次的token都是不一样的(也可以一样,根据算法确认)
2、不可预测性:没有规律,无法预测
3、时效性: 可以设置token的有效时间
4、可扩展性:只是一个model,扩展起来非常方便
五、sign签名分类
1、可逆签名 对称算法,公钥私钥(公钥加密,私钥解密) AES,DES
2、不可逆签名 不可逆算法,密钥一致 RSA的MD5
六、sign签名鉴权的特性
1、一次性的身份校验方式,常见于不同项目间的api通信
2、一般形式是通过 AppID/AccessKey/AppSecret 及签名算法