适用于分布式单点登录(SSO)
流程
1、客户端输入账号密码登录;
2、服务端判断登录信息,用户登录成功返回客户端token;
3、客户端存储token,每个请求都需要传递token到服务端;
4、服务端验证token的有效期,返回对应的信息;
构成
分为三部分
1、头部(header);2、载荷(payload, 数据信息);3、签证(signature).;
使用
1、生成token
$header = ['typ' => 'JWT', 'alg' => 'HS256'];//头部
$jwt_header = base64_encode(json_encode($header));
$time = time()+3600;//过期时间
$payload = ['username' => '张三', 'id' => '123', 'sub' => $time];//载荷
$jwt_payload = base64_encode(json_encode($payload));
$secret = 'abcdef';//设置的密钥
$jwt_sign = md5($jwt_header.$jwt_payload.$secret);
$token = $jwt_header.".".$jwt_payload