PHP code example of yupoxiong / simple-jwt
1. Go to this page and download the library: Download yupoxiong/simple-jwt library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
yupoxiong / simple-jwt example snippets
use yupoxiong\jwt\Jwt;
// 初始化jwt
$jwt = new Jwt();
// 当前时间
$time = time();
// 设置加密方式为sha256
$jwt->setAlg('HS256');
// 加密key
$key = '123456';
// 设置加密key
$jwt->setKey($key);
// 设置用户ID
$jwt->setUid($uid);
// 生成唯一的jti
$jti = sha1((string)$uid);
// 设置jti
$jwt->setJti($jti);
// 添加自定义header
$jwt->setHeader('haha', '123');
// 设置签发人
$jwt->setIss('server');
// 设置签发时间
$jwt->setIat($time);
// 设置使用人
$jwt->setAud('client');
// 设置可用时间
$jwt->setNbf($time);
// 设置1小时后过期
$jwt->setExp($time + 3600);
// 自定义claim
$jwt->setClaim('hi001','001');
$token = $jwt->getToken();
use yupoxiong\jwt\Jwt;
// 初始化jwt
$jwt = new Jwt();
$result = $jwt->setKey($key)->checkToken($token);
if ($result) {
// 获取uid
$uid = $jwt->getUid();
// 获取jti
$jti = $jwt->getJti();
// 获取自定义的claim
$hi001 = $jwt->getClaim('hi001');
// 获取整个header数组
$header = $jwt->getHeader();
// 获取整个payload数组
$payload = $jwt->getPayload();
// 获取签发人
$iss = $jwt->getIss();
// 获取使用人
$aud = $jwt->getAud();
} else {
// 验证失败,输出原因
echo $jwt->getMessage() ;
}
use \yupoxiong\jwt\exception\JwtException;
try {
// 生成
$token = jwt_token('key','uid');
} catch (JwtException $e) {
// 生成失败
$msg = $e->getMessage();
}
try {
// 验证
$jwt = jwt_token_check('token','key');
// 后续操作
$uid = $jwt->getUid();
} catch (JwtException $e) {
// 验证失败
$msg = $e->getMessage();
}