介绍
这篇文章主要讲解了“ThinkPHP5框架中如何使用JWT”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ThinkPHP5框架中如何使用JWT”吧!
使用作曲家的话要确保你的电脑上安装了作曲家,进入项目根目录下载即了,自动会放在供应商目录下
创建文件
我是放在共同目录下
使用教程
github都有的
贴源码
JWTAuth。php
& lt; php ? namespace app \常见\身份验证; use \ Lcobucci \ JWT \建设者; 签名者use \ Lcobucci \ JWT \ \ Hmac \ Sha256; use \ Lcobucci \ JWT \解析器; use \ Lcobucci \ JWT \ ValidationData;/* * ,*单例模式 ,*/class JWTAuth { ,,,private static $实例; ,,,/* * ,,,,*,JWT 令牌 ,,,,*,@var (类型) ,,,*/,,,private 美元令牌; ,,,/* * ,,,,*,颁发 ,,,,*,@var 字符串 ,,,*/,,,private iss 美元;=,& # 39;api.test.com& # 39;; ,,,/* * ,,,,*,接收 ,,,,*,@var 字符串 ,,,*/,,,private aud 美元;=,& # 39;app.com& # 39;; , ,,,private $ uid; , ,,,private $秘密=? $ % # $ % *,^ (* (* (“; , ,,,private decodeToken美元; , ,,,public static function getInstance (), { ,,,,,,,如果(is_null (self::实例)美元),{ ,,,,,,,,,,,self:: $ instance =, new 自我(); ,,,,,,,} ,,,,,,,return 自我::$实例; ,,,} , ,,,private function __contruct () { , ,,,} , ,,,private function __clone () { , ,,,} , ,,,public function 编码(){ ,,,,,,,time 美元;=,(); ,,,,,,,这个→美元token =, (new 构建器())→setHeader (& # 39; alg # 39; & # 39; HS256& # 39;) ,,,,,,,,,,,→setIssuer ($ this→iss) ,,,,,,,,,,,→setAudience(这→美元aud) ,,,,,,,,,,,→setIssuedAt($),//生效时间 ,,,,,,,,,,,→setExpiration (time 美元;+,20)//过期时间 ,,,,,,,,,,,→设置(& # 39;uid # 39;,这→美元uid) ,,,,,,,,,,,→标志(new Sha256 (), $ this→秘密)//加密算法 ,,,,,,,,,,,→getToken (); , ,,,,,,,,,,,return 美元; ,,,} , ,,,public function getToken () { ,,,,,,,return (字符串)这→美元令牌; ,,,} , ,,,public function setToken(令牌){ ,,,,,,,这个→美元token =,美元令牌; ,,,,,,,return 美元; ,,,} ,,,/* * ,,,,*,用户信息的uid ,,,,*,@param [型],uid 美元;[描述] ,,,*/,,,public function setUid (uid) { ,,,,,,,这个→美元uid =, uid美元; ,,,,,,,return 美元; ,,,} , ,,,public function jsonDecode () { , ,,,,,,,token 美元;=,这→美元令牌; ,,,,,,,这个→美元decodeToken =, (new 解析器())→解析(美元(字符串),令牌),, , ,,,,,,,//,echo $ this→decodeToken→getClaim (& # 39; uid # 39;); ,,,,,,,return $ this→decodeToken; ,,,} ,,,/* * ,,,,*,验证令牌是否有效 ,,,,*,@return [型],[描述] ,,,*/,,,public function 验证(){ , null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null nullJWT ThinkPHP5框架中如何使用