🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
jwt可用于thinkphp5的一个开源项目,见:https://github.com/firebase/php-jwt ### 使用方法: **第一步,使用composer 安装jwt** ~~~ composer require firebase/php-jwt ~~~ **第二步:在需要的文件中引入** ~~~ use Firebase\JWT\JWT; ~~~ **第三步:利用JWT的encode方法,把需要加密的信息生成一串加密的明文字符串** 比如: ~~~ $key = "amange"; $data = array( 'user_id'=>1, 'name'=>'阿满哥' ); $token = JWT::encode($data, $key); ~~~ 这样就可以生成一串加密的明文token了。 **第四步:利用JWT的decode方法对加密后的明文token进行加析,还原成原来的数据** 比如: ~~~ $key = "amange"; $userinfo = JWT::decode($token, $key, array('HS256')); print_r($userinfo); ~~~ * * * * * >** 注意,在开发的过程中,如果$token不正确,那么用上面的解析,会出现溢出的错误,这时,我们可以利用php的try功能来防止溢出,同时也可以做判断该token是否正确的功能。** 比如: ~~~ $key = "amange"; try { $userinfo = JWT::decode($token, $key, array('HS256')); return $userinfo; } catch (Exception $e){ return false; } ~~~ > **小技巧:个人习惯做一个方法,放在公用函数文件(common.php)中随时调用,比如** ~~~ function jwt_ck($token){ $key = "yuanzigo"; try { $userinfo = JWT::decode($token, $key, array('HS256')); return $userinfo; } catch (Exception $e){ return false; } } ~~~ 这样就可以在任意位置对token进行正确性的判断,或者对token对应的数据进行处理了。