| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 | 
							- <?php
 
- // +----------------------------------------------------------------------
 
- // | ThinkPHP [ WE CAN DO IT JUST THINK ]
 
- // +----------------------------------------------------------------------
 
- // | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.
 
- // +----------------------------------------------------------------------
 
- // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
 
- // +----------------------------------------------------------------------
 
- // | Author: liu21st <liu21st@gmail.com>
 
- // +----------------------------------------------------------------------
 
- namespace app\common\library\tokencompany;
 
- /**
 
-  * Token基础类
 
-  */
 
- abstract class Driver
 
- {
 
-     protected $handler = null;
 
-     protected $options = [];
 
-     /**
 
-      * 存储Token
 
-      * @param   string $token   Token
 
-      * @param   int    $user_id 会员ID
 
-      * @param   int    $expire  过期时长,0表示无限,单位秒
 
-      * @return bool
 
-      */
 
-     abstract function set($token, $user_id, $expire = 0);
 
-     /**
 
-      * 获取Token内的信息
 
-      * @param   string $token
 
-      * @return  array
 
-      */
 
-     abstract function get($token);
 
-     /**
 
-      * 判断Token是否可用
 
-      * @param   string $token   Token
 
-      * @param   int    $user_id 会员ID
 
-      * @return  boolean
 
-      */
 
-     abstract function check($token, $user_id);
 
-     /**
 
-      * 删除Token
 
-      * @param   string $token
 
-      * @return  boolean
 
-      */
 
-     abstract function delete($token);
 
-     /**
 
-      * 删除指定用户的所有Token
 
-      * @param   int $user_id
 
-      * @return  boolean
 
-      */
 
-     abstract function clear($user_id);
 
-     /**
 
-      * 返回句柄对象,可执行其它高级方法
 
-      *
 
-      * @access public
 
-      * @return object
 
-      */
 
-     public function handler()
 
-     {
 
-         return $this->handler;
 
-     }
 
-     /**
 
-      * 获取加密后的Token
 
-      * @param string $token Token标识
 
-      * @return string
 
-      */
 
-     protected function getEncryptedToken($token)
 
-     {
 
-         $config = \think\Config::get('token');
 
-         return hash_hmac($config['hashalgo'], $token, $config['key']);
 
-     }
 
-     /**
 
-      * 获取过期剩余时长
 
-      * @param $expiretime
 
-      * @return float|int|mixed
 
-      */
 
-     protected function getExpiredIn($expiretime)
 
-     {
 
-         return $expiretime ? max(0, $expiretime - time()) : 365 * 86400;
 
-     }
 
- }
 
 
  |