1. 程式人生 > 其它 >Thinkphp5.0使用JWT生成token

Thinkphp5.0使用JWT生成token

使用composer下載擴充套件

composer require firebase/php-jwt
	//建立token
    public function crate_token($uid=1){

        $secret = "key";      //密匙
        $payload = [
            'iss'=>'pyg',                //簽發人(官方欄位:非必需)
            'exp'=>time()+3600*24*7,     //過期時間(官方欄位:非必需)
            'aud'=>'admin',              //受眾(官方欄位:非必需)
            'nbf'=>time(),               //生效時間(官方欄位:非必需)
            'iat'=>time(),               //簽發時間(官方欄位:非必需)
            'admin_id'=>$uid,        //自定義欄位
            'admin'=>true                //自定義欄位
        ];
        $token = JWT::encode($payload,$secret,'HS256');
        return $token;
    }
    //驗證token
    public function verify_token($token)
    {
        try{
            $Result = JWT::decode($token,'key',['HS256']);
            return '驗證成功';
        }
        catch (\Exception $e)
        {
            return '驗證失敗';
        }
    }