直到前两天要做web验证时,朋友才向我推荐了jwt。才发现jwt已经被大家广泛使用了。看来我有点out了。哈哈,趁着这个世界好好看看这个。JWT(JSONWebToken),顾名思义,就是一种可以在Web上传输的token。此令牌采用JSON格式。它是一个开源标准(RFC7519),它定义了一种紧凑、独立的方式来在不同实体之间安全地传输JSON格式的信息。由于现在很多项目都是前后端分离的,restfulapi模式。因此,传统的会话模式无法满足认证需求。这时候jwt的作用就来了。可以说restfulapi认证是jwt一个很好的应用场景。下面是一个小demo$user=['uid'=>'dadsa-12312-vsd1s1-fsds','account'=>'daisc','password'=>'123456'];$redis=redis();$action=$_GET['action'];switch($action){case'login':login();休息;案例“信息”:信息();break;}//登录,写入验证tokenfunctionlogin(){global$user;$account=$_GET['账户'];$pwd=$_GET['密码'];$res=[];如果($account==$user['account']&&$pwd==$user['password']){取消设置($user['password']);$时间=时间();$token=['iss'=>'http://test.cc',//发行者'iat'=>$time,'exp'=>$time+60,'data'=>$user];$jwt=\Firebase\JWT\JWT::encode($token,KEY);$res['代码']=200;$res['消息']='登录成功';$res['jwt']=$jwt;}别的{$res['message']='用户名或密码错误';$res['代码']=401;}exit(json_encode($res));}functioninfo(){$jwt=$_SERVER['HTTP_AUTHORIZATION']??错误的;$res['代码']=200;if($jwt){$jwt=str_replace('Bearer','',$jwt);如果(空($jwt)){$res['code']=401;$res['msg']='您没有访问权限。';退出(json_encode($res));}try{$token=(array)\Firebase\JWT\JWT::decode($jwt,KEY,['HS256']);if($token['exp']