日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

ThinkPHP5實現JWT Token認證的過程(親測可用)

瀏覽:467日期:2022-06-06 09:20:01

1、composer先掛載阿里云鏡像

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

2、安裝JWT擴展

composer require lcobucci/jwt 3.3

3、在vendor目錄中打開readme.md文件

4、在extend目錄中,自定義類進行JWT操作生成token

5、操作Token.php實現生成token的方法,詳細在readme.md中的Hmac位置

<?phpuse Lcobucci\JWT\Builder;use Lcobucci\JWT\signer\Hmac\Sha256;class Token{	//自定義一個生成token的方法	static public function createToken($uid = null){		$signer = new Sha256(;//加密算法		$time = time(;//當前的時間戳		$token = (new Builder())			->issuedBy( issuer: "fanxinze")//配置發行人			->canonlyBeUsedBy( audience: " user")//配置接收人			->identifiedBy( id: " quanzhankaifa",replicateAsHeader: true)//標題id->issuedAt($time)//發出token令牌的時間			->canonlyBeUsedAfter( notBefore: $time + 60)//生效時間->expiresAt( expiration: $time + 3600)//過期時間			->with( name: " uid" , $uid)//用戶id			->sign($signer, key: " 1902a" )//簽名內容->getToken(;//獲取token		return (string)$token;	}}

注意:生效時間+60表示1分鐘后生效,可以去掉加法運算,表示即時生效

6、自行找控制器進行測試

<?phpnamespace app\index\controller;use think\Controller;use Token;class Index extends Controller{	public function index()	{	$token = Token : : createToken();	return $token;	}}

7、最終會得到結果類似如下所示:

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImp0aSI6IjRmMWcyM2ExMmFhIn0.eyJpc3MiOiJmYW54aW56ZSIsImF1ZCI6InVzZXIiLCJqdGkiOiI0ZjFnMjNhMTJhYSIsImlhdCI6MTYxOTY2NjUwNywibmJmIjoxNjE5NjY2NTY3LCJleHAiOjE2MTk2NzAxMDcsInVpZCI6MTJ9.N6CkSWaNdTVk2ust9QzRa1wpY-ZCQTwp5nYPLYa_K-k

8、封裝驗證Token的方法,如果失敗返回false,如果成功返回用戶id

//驗證tokenstatic public function verifyToken($token=null){	//檢測是否接收到了token	if(empty($token)){		return 0;	}	//代碼到50行,就表示取到token了,那么轉化成jwt認識的token	$token = (new Parser())->parse((string) $token);	//驗證基本設置	$data = new ValidationData();	$data->setIssuer( issuer: "teacher " );	$data->setAudience( audience: "student " );$data->setId( id: " quanzhan " );	if(!$token->validate($data)){		return 0;	}	//驗證簽名	$signer = new sha256();	if(!$token->verify($signer, key: " 1902a" )){	return 0;	}	//驗證通過,返回用戶id	return $token->getclaim( name:"uid");}

9、案例:Token在實際代碼中的應用

注意:這里為了簡單的做測試,使用的是DB操作,但是在實際代碼中不建議使用DB,必須使用MVC進行開發。

(1)、登錄的時候生成token

//登錄public function login(){	$data = input();	array_shift( &array: $data);if(empty($data[ " username " ])){		return json([ "code"=>1, " msg"=>"用戶名不能為空" , " result"=>null]);	}	if(empty($data[ " password" ])){		return json([ "code "=>2, " msg"=>"密碼不能為空", " result"=>null]);	}	$data[ " password " ] = md5($data[ " password " ]);	$info = Db ::table( table: "tpshop_manager ")->where($data)->find();	if(!$info){		return json( [ "code "=>3 , " msg"=>"賬號密碼有誤", " result"=>null]);	}	//登錄成功	//生成token	$token = Token : : createToken($info[ "id" ]);	$info[ "token" ] = $token;	return json([ " code "=>0, " msg"=>"登錄成功", " result"=>$info]);}

(2)、登錄后可以拿到token,然后請求其他接口的時候就驗證token是否正確,如果不正確,提示無效的token

public function index(){	$token = input(key: "token") ;	$res = Token::verifyToken($token);	if($res==0){		return json([ "code"=>1, "msg "=>"無效的Token " , "result"=>null]);	}	$data = Db::table(table: ""tpshop_manager" )->paginate(listRows: 7);	return json([ " code "=>0, " msg"=>"成功", "result"=>$data]);}

(3)、由于登錄后的每一個方法可能都需要驗證token,所以我們把token封裝到構造中進行驗證【實例化類的時候自動調用構造,構造會在每一個要執行的方法前自動執行】

class Base extends controller{    public function _construct(Request $request = null)	{	$token = $request->param( name: "token " );$res = Token : :verifyToken($token) ;	if($res==0){		$arr = [ " code"=>1, "msg"=>"無效的Token " , " result"=>null];		echo json_encode($arr);		die;	}    }}

到此這篇關于ThinkPHP5實現JWT Token認證的文章就介紹到這了,更多相關ThinkPHP5 JWT Token認證內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: PHP
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
激情综合五月| 99久久久久久中文字幕一区| 久久99国产精品视频| 婷婷六月综合| 亚洲黑丝一区二区| 亚洲欧洲高清| 国产精品白浆| 国产精品成人**免费视频 | 国产精品www.| 日本va欧美va瓶| 色8久久久久| 天堂成人国产精品一区| 日韩a一区二区| 久久精品亚洲| 一区二区三区四区日本视频| 国产精品国产一区| 精品久久久久中文字幕小说| 亚洲黄色免费av| 国产一区二区亚洲| 日韩毛片在线| 亚洲1234区| 三上悠亚国产精品一区二区三区 | 日韩黄色在线观看| 亚洲精品伦理| 亚州精品视频| 日韩国产欧美三级| 日韩av一区二区三区| 久久伊人亚洲| 国语精品一区| 午夜国产欧美理论在线播放 | 美腿丝袜亚洲三区| 成人亚洲一区| 91精品一区国产高清在线gif| 伊人成人网在线看| 美女尤物久久精品| 国产精品午夜一区二区三区| 精品色999| 丝袜美腿一区| 国产亚洲在线| 亚洲精品麻豆| 福利片在线一区二区| а√天堂8资源在线| 精品久久久久中文字幕小说| 成人日韩av| 久久最新视频| 国内揄拍国内精品久久| 精品国产麻豆| 美女视频免费精品| 国产精品久久久久久久久妇女| 老司机免费视频一区二区| 日韩a一区二区| 亚洲少妇诱惑| 69堂精品视频在线播放| 国产美女亚洲精品7777| 成人台湾亚洲精品一区二区| 91成人精品视频| 亚洲精品综合| 精品一区二区男人吃奶| 亚洲欧美日韩精品一区二区 | 女人av一区| 国产三级一区| 亚洲美女久久精品| 日韩精品高清不卡| 伊伊综合在线| 亚州精品视频| 日韩精品久久久久久久电影99爱 | 国产精品毛片在线| 国产精品密蕾丝视频下载| 久久久精品网| 综合欧美精品| 欧美不卡高清一区二区三区| 亚洲免费一区二区| 日韩欧美在线中字| 日韩精品一级中文字幕精品视频免费观看 | 亚洲精品黄色| 午夜天堂精品久久久久| 免费不卡中文字幕在线| 国产日韩在线观看视频| 日韩精品午夜视频| 国产精品中文| 国产日韩电影| 激情五月综合| 欧美一级网址| 日韩一区中文| 国产一区二区三区天码| 视频一区二区三区在线| 国产精品羞羞答答在线观看| 99热精品久久| 免费在线亚洲欧美| 欧美日韩激情| 三上悠亚国产精品一区二区三区 | 精品国产亚洲日本| 先锋影音国产一区| 久久狠狠婷婷| 你懂的亚洲视频| 日韩专区在线视频| 欧美搞黄网站| 国产精品sss在线观看av| 伊人国产精品| 欧美1区2区3| 91亚洲无吗| 亚洲综合不卡| 久久久久久黄| 欧美三区四区| 欧美日韩精品一区二区三区视频 | 日本精品不卡| bbw在线视频| 亚洲欧美日韩在线观看a三区| 老色鬼久久亚洲一区二区| 国内精品福利| 日韩av二区| 欧美 日韩 国产精品免费观看| 国产aⅴ精品一区二区三区久久 | 老色鬼精品视频在线观看播放| 欧美美女一区| 日韩高清中文字幕一区二区| 久久精品国产亚洲aⅴ| 日韩黄色在线观看| 中文字幕一区二区av| 99久久激情| 色婷婷精品视频| 精品久久视频| 日韩二区三区四区| 欧美91视频| 亚洲不卡av不卡一区二区| 香蕉视频亚洲一级| 国产成人a视频高清在线观看| 毛片不卡一区二区| 日本强好片久久久久久aaa| 亚洲精品极品| 国产亚洲激情| 欧美在线资源| 丝袜脚交一区二区| 夜夜嗨网站十八久久| 综合欧美亚洲| 久热精品在线| 日韩不卡在线观看日韩不卡视频 | 免费视频一区二区| 亚洲丝袜美腿一区| 中文国产一区| 另类av一区二区| 午夜在线一区二区| 亚洲精品在线国产| 亚洲制服少妇| 亚洲一区国产| 亚洲另类黄色| 中文字幕一区二区av| 69精品国产久热在线观看| 日韩三级一区| 中文在线日韩| 国产欧美啪啪| 精品国产亚洲一区二区三区在线| 首页国产精品| 久久久一本精品| 国产精品普通话对白| 免费在线观看一区二区三区| 日本一区二区三区中文字幕| 国产精品午夜一区二区三区| 久久久久伊人| 亚洲高清二区| 亚洲欧美日韩高清在线| 日韩精品第二页| 欧美亚洲一区二区三区| 国产精品xxx在线观看| av资源中文在线天堂| 国产精品久久久久av电视剧| 亚洲一区免费| 午夜亚洲福利| 97精品国产| 91精品国产调教在线观看| 日韩在线一区二区| 国产探花在线精品一区二区| 麻豆成人综合网| 久久中文亚洲字幕| 国产精品毛片一区二区三区| 国产探花一区| 国产成年精品| 中文字幕日韩亚洲| 日韩1区2区日韩1区2区| 国产精品magnet| 97欧美在线视频| 美女久久久久| 国产免费播放一区二区| 激情黄产视频在线免费观看| 六月婷婷一区| 欧美日韩午夜| 激情婷婷综合| 911亚洲精品| 日韩国产网站| 亚洲精品少妇| 久久av影视| 亚洲一卡久久| 91在线成人| 99热精品在线| 久久精品99久久久| 国产精品毛片一区二区在线看| 在线精品视频在线观看高清| 日韩精品1区2区3区| 九色porny丨国产首页在线| 免费国产亚洲视频|