### composer安裝JWT``
> *****
> ` composer require lcobucci/jwt`
> *****
### 依賴
* PHP 5.5+ (v3.2) and PHP 7.1 (v4.x)
* OpenSSL Extensio
### 參數解釋

### 生成token
~~~
use Lcobucci\JWT\Builder;
//創建jwt
$time = time();
$token = (new Builder())->issuedBy('http://maicaii.com') // 發行者
->permittedFor('http://maicaii.com') // 觀眾
->identifiedBy('4f1g23a12aa', true) // id (jti claim),
->issuedAt($time) // 發行時間(iat claim)
->canOnlyBeUsedAfter($time + 60) // 可使用時間 (nbf claim)
->expiresAt($time + 3600) // 過期時間(exp claim)
->withClaim('usernam', ‘Gonggui’) // 配置一個新的字段
->withClaim('password', ‘Gonggui’) // 配置一個新的字段
->getToken(); // 生成令牌
~~~
### 結果
~~~
//只有兩部分,沒有簽名部分
eyJpc3MiOiJodHRwOlwvXC9tYWljYWlpLmNvbSIsImF1ZCI6Imh0dHA6XC9cL21haWNhaWkuY24iLCJqdGkiOiI0ZjFnMjNhMTJhYSIsImlhdCI6MTU4NTczODkzMiwibmJmIjoxNTg1NzM4OTkyLCJleHAiOjE1ODU3NDI1MzIsInVzZXJuYW1lIjoiR29uZ2d1aSIsInBhc3N3b3JkIjoiR29uZ2d1aSJ9.
~~~
### 生成帶簽名的token
~~~
use Lcobucci\JWT\Builder;
use Lcobucci\JWT\Signer\Key;
use Lcobucci\JWT\Signer\Hmac\Sha256;// 簽名加密方式
$time = time();
$token = (new Builder())->issuedBy('http://maicaii.com') // 發行者
->permittedFor('http://maicaii.cn') // 觀眾
->identifiedBy('4f1g23a12aa', true) // id (jti claim),
->issuedAt($time) // 發行時間(iat claim)
->canOnlyBeUsedAfter($time + 60) // 可使用時間 (nbf claim)
->expiresAt($time + 3600) // 過期時間(exp claim)
->withClaim('username', 'Gonggui') // 配置一個新的字段
->withClaim('password', 'Gonggui') // 配置一個新的字段
->getToken(new Sha256(),new Key('你的key')); // 生成令牌 key要保密
return $token;
~~~
### 結果
~~~
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImp0aSI6IjRmMWcyM2ExMmFhIn0
.eyJpc3MiOiJodHRwOlwvXC9tYWljYWlpLmNvbSIsImF1ZCI6Imh0dHA6XC9cL21haWNhaWkuY24iLCJqdGkiOiI0ZjFnMjNhMTJhYSIsImlhdCI6MTU4NTc0MTc1MiwibmJmIjoxNTg1NzQxODEyLCJleHAiOjE1ODU3NDUzNTIsInVzZXJuYW1lIjoiR29uZ2d1aSIsInBhc3N3b3JkIjoiR29uZ2d1aSJ9
.5BOA\_nzBBz2ZgDnJqAD-h--Qa1NXjb4Jsl-MdIs-MCc
~~~
- 序言
- ThinkPHP官方資源
- 術語
- 根目錄
- php術語
- jwt
- 下載jwt
- 認識jwt
- 生成token
- 驗證token
- lcobucci/jwt
- 安裝
- 配置
- 生成token
- 解析令牌
- 驗證令牌
- 擴展庫jwt
- thinkPHP使用lcobucci/jwt
- phpmailer
- PHPMailer的使用
- phpMailer config
- 短信驗證嗎
- 阿里云短信驗證碼發送類
- 權限管理
- 基于thinkphp6.0
- 通用函數
- 密碼加密
- 數組
- 數據庫
- 查詢數據
- 添加數據
- 刪除數據
- 批量刪除
- 更新數據
- 請求流程
- thinkphp6安裝
- thinkphp6目錄介紹
- 單應用
- 多應用
- 配置文件
- 模型,模板與Model的區別
- .env介紹
- 入口文件
- 控制器
- model層
- 視圖層
- common公共函數
- 路由
- 命令行
- 常用thinkphp函數和方法
- 高德地圖i定位城市
- 更新日志