欢迎来到DIVCSS5查找CSS资料与学习DIV CSS布局技术!
  没有AUTH的验证
 
  最简单的验证机制是通过session来存储认证信息的,但这个不便于客户端存储,而且有不能跨域请求认证的缺点。
 
  大致流程:
 
  用户登录(输入账户密码)
 
  后端验证
 
  验证通过则在session存储用户ID
 
  每个用户经过我们的应用认证之后,我们的应用都要在服务端做一次记录,以方便用户下次请求的鉴别,通常而言session都是保存在内存中,而随着认证用户的增多,服务端的开销会明显增大。
 
  Basic 认证方式
 
  传统的认证方式就是构造一个字符串,这个字符串里面含有账户名和密码,比如:
 
  $str="username:password";
 
  如果希望它不可读,可以对其进行base64编码:
 
  $str="username:password";
 
  $token=base64_encode($str);
 
  echo $token;
 
  dXNlcm5hbWU6cGFzc3dvcmQ=
 
  这样每次请求API的时候加上这个Token值,然后后端获取到这个Token值,对其进行:
 
  $str=base64_decode($token);
 
  $auth=explode(':', $str);
 
  var_dump($auth);
 
  然后使用auth到数据库中进行查询来验证有效性。
 
  但缺点很明显:
 
  被窃取的可能性:每次使用这个token值进行请求,意味着每次请求都在泄露用户的密码。
 
  增加数据库工作量:每次请求都要去数据库查询是否有效,效率明显下降。
 
  对于传统的AUTH方式做了改进,引入JWT。
 
  JWT认证机制
 
  什么是JWT?
 
  Json web token (JWT), 是一个非常轻巧的规范。这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息。
 
  它的核心就是签名。比如我有一个字符串。
 
  $str="qq:792598794;name:sungod";

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h62155.shtml