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();
}