// +---------------------------------------------------------------------- namespace app\common\library\token; /** * Token基础类 */ abstract class Driver { protected $handler = null; protected array $options = []; protected string $userTokenKey = "userToken"; /** * 存储Token * @param int $userID 用户ID * @param string $token 凭证 * @return bool */ abstract function set(int $userID, string $token): bool; /** * 获取Token内的信息 * @param int $userID * @return array */ abstract function get(int $userID): array; /** * 获取加密后的Token * @param int $userID 用户ID * @return string */ abstract function getEncryptedToken(int $userID): string; /** * 判断Token是否可用 * @param string $token Token * @param int $userID 会员ID * @return boolean */ abstract function check(int $userID, string $token): bool; /** * 删除用户的Token * @param int $userID 会员ID * @return boolean */ abstract function delete(int $userID): bool; /** * 返回句柄对象,可执行其它高级方法 * * @access public * @return object */ public function handler(): ?object { return $this->handler; } }