黄p网站_在线看中文字幕_亚洲电影免费观看_成人激情视频_欧美成视频_中国av在线

JWT

JSON Web Token(JWT)是目前最流行的跨域身份驗(yàn)證解決方案。 隨著技術(shù)的發(fā)展,分布式web應(yīng)用的普及,通過session管理用戶登錄狀態(tài)成本越來(lái)越高,因此慢慢發(fā)展成為token的方式做登錄身份校驗(yàn),然后通過token去取redis中的緩存的用戶信息,隨著之后jwt的出現(xiàn),校驗(yàn)方式更加簡(jiǎn)單便捷化,無(wú)需通過redis緩存,而是直接根據(jù)token取出保存的用戶信息,以及對(duì)token可用性校驗(yàn),單點(diǎn)登錄更為簡(jiǎn)單。

組件要求

  • php: >=7.1.0
  • ext-openssl: >=1.0.0
  • easyswoole/spl: ^1.2
  • easyswoole/utility: ^1.1

安裝方法

composer require easyswoole/jwt

倉(cāng)庫(kù)地址

easyswoole/jwt

核心類庫(kù)方法

編碼相關(guān)

設(shè)置加密方式,默認(rèn)HMACSHA256

    function algMethod(string $method):Jwt

設(shè)置秘鑰,默認(rèn)Easyswoole

    function setSecretKey(string $key):Jwt

初始化一個(gè)沒有附帶信息的token的JwtObject

    public function publish():JwtObject

設(shè)置加密方式, 默認(rèn)HMACSHA256

    public function setAlg($alg): self

設(shè)置用戶

    public function setAud($aud): self

設(shè)置過期時(shí)間

    public function setExp($exp): self

設(shè)置發(fā)布時(shí)間

    public function setIat($iat): self

設(shè)置發(fā)行人

    public function setIss(string $iss): self

設(shè)置jwt-id,用于標(biāo)識(shí)該jwt

    public function setJti($jti): self

在此之前不可用

    public function setNbf($nbf): self

設(shè)置主題

    public function setSub($sub): self

設(shè)置其他數(shù)據(jù)

    public function setData($data): self

獲取token

    function __toString()

解碼相關(guān)

解碼

    public function decode(?string $raw):?JwtObject

獲取解碼狀態(tài), 1:通過, -1:無(wú)效, -2:token過期

    public function getStatus(): int

獲取加密方式

    public function getAlg()

獲取用戶

    public function getAud()

獲取過期時(shí)間

    public function getExp()

獲取發(fā)布時(shí)間

    public function getIat()

獲取發(fā)行人

    public function getIss(): string

獲取jwt-id

    public function getJti()

獲取生效時(shí)間

    public function setNbf($nbf): void

獲取主題

    public function getSub()

獲取自定義數(shù)據(jù)

    public function getData()

獲取簽名

    public function getSignature()

通過key獲取相關(guān)數(shù)據(jù)

    final public function getProperty($name)

基本使用

生成token

use EasySwoole\Jwt\Jwt;

$jwtObject = Jwt::getInstance()
    ->setSecretKey('easyswoole') // 秘鑰
    ->publish();

$jwtObject->setAlg('HMACSHA256'); // 加密方式
$jwtObject->setAud('user'); // 用戶
$jwtObject->setExp(time()+3600); // 過期時(shí)間
$jwtObject->setIat(time()); // 發(fā)布時(shí)間
$jwtObject->setIss('easyswoole'); // 發(fā)行人
$jwtObject->setJti(md5(time())); // jwt id 用于標(biāo)識(shí)該jwt
$jwtObject->setNbf(time()+60*5); // 在此之前不可用
$jwtObject->setSub('主題'); // 主題

// 自定義數(shù)據(jù)
$jwtObject->setData([
    'other_info'
]);

// 最終生成的token
$token = $jwtObject->__toString();

解析token

use EasySwoole\Jwt\Jwt;

$token = "eyJhbGciOiJITUFDU0hBMjU2IiwiaXNzIjoiZWFzeXN3b29sZSIsImV4cCI6MTU3MzgzNTIxMSwic3ViIjoi5Li76aKYIiwibmJmIjoxNTczODMxOTExLCJhdWQiOiJ1c2VyIiwiaWF0IjoxNTczODMxNjExLCJqdGkiOiJjYWJhZmNiMWIxZTkxNTU3YzIxMDUxYTZiYTQ0MTliMiIsInNpZ25hdHVyZSI6IjZlNTI1ZjJkOTFjZGYzMjBmODE1NmEwMzE1MDhiNmU0ZDQ0YzhkNGFhYzZjNmU1YzMzMTNjMDIyMGJjYjJhZjQiLCJzdGF0dXMiOjEsImRhdGEiOlsib3RoZXJfaW5mbyJdfQ%3D%3D";

try {
    $jwtObject = Jwt::getInstance()->decode($token);

    $status = $jwtObject->getStatus();

    // 如果encode設(shè)置了秘鑰,decode 的時(shí)候要指定
    // $status = $jwt->setSecretKey('easyswoole')->decode($token)

    switch ($status)
    {
        case  1:
            echo '驗(yàn)證通過';
            $jwtObject->getAlg();
            $jwtObject->getAud();
            $jwtObject->getData();
            $jwtObject->getExp();
            $jwtObject->getIat();
            $jwtObject->getIss();
            $jwtObject->getNbf();
            $jwtObject->getJti();
            $jwtObject->getSub();
            $jwtObject->getSignature();
            $jwtObject->getProperty('alg');
            break;
        case  -1:
            echo '無(wú)效';
            break;
        case  -2:
            echo 'token過期';
        break;
    }
} catch (\EasySwoole\Jwt\Exception $e) {

}
主站蜘蛛池模板: 一级一级国产片 | 国产精品美女视频 | 久久99精品国产99久久6男男 | 嫩草视频网 | 亚洲免费观看视频 | 男女爱爱免费视频 | 亚洲视频在线视频 | 中字一区| xxxx性欧美| 亚洲综合欧美日韩 | 亚洲精品一区在线观看 | 99视频在线免费观看 | www.一区二区| 91视频免费在线 | 中文一区二区 | 亚洲视频综合 | 欧美成人综合在线 | 久久久免费视频看看 | 色狠狠一区| 自拍第一页 | 色8久久 | 中文字幕最新在线 | 欧美日韩精品一区二区在线播放 | 国内精品视频一区二区三区 | 超碰人人爽 | 狠狠色狠狠色综合网 | 免费看91| 蜜月久久99静品久久久久久 | 国产美女av | 69黄在线看片免费视频 | 三级黄视频在线观看 | 玖玖精品 | 北条麻妃99精品青青久久 | 最新国产成人 | 欧美午夜视频 | 精品少妇一区二区三区日产乱码 | 日本久久精品视频 | 麻豆av在线播放 | 韩日av在线| 久在线视频播放免费视频 | 农村妇女毛片精品久久久 |