JWT是一种扩展性极强的B/S架构权限认证的技术,其优势尤其在分布式服务架构时明显,在如今前后端分离如日中天的时代背景下,如若使用得当其不仅可以降低中间人会话劫持的风险,并且由于其无存储特性从而降低服务端内存资源开销,当然在一定程度上以消耗一定算力作为代价,但基本上可以忽略。
加密部分:
<?php
namespace app\middleware;
class JWT
{
protected $header=null;
protected $payload=null;
private $secret='jwtadmin';
private $expires=3600;
public function __construct($user=''){
$this->initHeader();
$this->initPayload($user);
}
private function initHeader(){
$this->header['type']='JWT';
$this->header['alg']="HS256";
}
private function initPayload($user){
if($user=='' || $user==null){
return false;
}
$this->payload['iss']='jwtadmin';
$this->payload['sub']='admin';