JWT ThinkPHP5框架中如何使用

  介绍

这篇文章主要讲解了“ThinkPHP5框架中如何使用JWT”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“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   null

JWT ThinkPHP5框架中如何使用