如何撤销不记名令牌并刷新?

时间:2019-06-28 07:25:12

标签: php swagger bearer-token

如果承载令牌即将结束,请使用刷新控制器来创建新令牌。如果要返回的参数是当前令牌,则该参数为当前令牌,如果不是,则创建一个新令牌。相关代码在下面。

我在PHP中使用了swagger框架

public static function checkToken($token)
    {
        $t = new Token();
        $t->loadByTokenValue($token);

        if (JMT::isLoaded($t)) {
            $expireDate     = $t->getExpires()->expires;
            $convertedDate  = new DateTime($expireDate);
            $since_start    = $convertedDate->diff(new DateTime());
            if ($since_start ->i < 2 ) {
                return true;
            }
            return false;

        }
        return true;
    }

public function test() {
        $currentToken   = $this->getBearerToken();
        $isExpired      = Token::checkToken($currentToken);
        if ($isExpired) {
            $u = new User();
            $u->loadByUserkey($currentToken);
            Token::invalidateToken($currentToken);
            $t = Token::create( $u, 'web' );RestUtils::sendResponse(200,
                $this->createStandardResponse(null, "Token is changed", $t));
        }
        else {
            RestUtils::sendResponse(200, $this->createStandardResponse(null, "Token is not expireds", $currentToken));
        }
    }

我写了这样的代码,但是当我在swagger ui中测试“ / authtest” URL时,出现了这样的错误

"
Code: Undocumented    
Details:
TypeError: Failed to fetch"

我该如何解决这个问题?

谢谢大家!

0 个答案:

没有答案