Php Laravel Passport说刷新令牌无效

Php Laravel Passport说刷新令牌无效,php,laravel,laravel-passport,refresh-token,Php,Laravel,Laravel Passport,Refresh Token,所以,我在一个使用Passport的Laravel应用程序中设置了一个API,我正在另一个Laravel应用程序中使用它。几乎所有这些都工作得很好,但是当我尝试使用刷新令牌时,我在Passport端得到消息,刷新令牌无效。我将刷新令牌存储在一个长度为2000个字符的数据库字段中,不知道这是否还不够,或者我的刷新函数中是否有错误。有什么想法吗 private function refreshToken($token) { $http = $this->newClient();

所以,我在一个使用Passport的Laravel应用程序中设置了一个API,我正在另一个Laravel应用程序中使用它。几乎所有这些都工作得很好,但是当我尝试使用刷新令牌时,我在Passport端得到消息,刷新令牌无效。我将刷新令牌存储在一个长度为2000个字符的数据库字段中,不知道这是否还不够,或者我的刷新函数中是否有错误。有什么想法吗

private function refreshToken($token) {
    $http = $this->newClient();
    try {
        $response = $http->post($this->_url . '/oauth/token', [
            'form_params' => [
                'grant_type' => 'refresh_token',
                'refresh_token' => $token->refresh_token,
                'client_id' => $this->_clientId,
                'client_secret' => $this->_secretKey,
                'scope' => 'products orders',
            ],
        ]);
    } catch(\Exception $ex) {
        Log::error($ex);
        $token = $this->newToken();
        return $token;
    }
    $token = Token::saveToken($response);
    return $token;
}

好的,找出导致问题的实际情况,并不是刷新令牌无效。这意味着它刚刚过期,在这种情况下,代码被设置为获取新令牌。相反,当我检查令牌是否过期时,问题出现了,但是在该检查和使用它的调用之间,令牌将过期。所以,我在过期检查中添加了一些填充物,现在它工作得很顺利。生活和学习。:)

好的,找出导致问题的实际原因,并不是刷新令牌无效。这意味着它刚刚过期,在这种情况下,代码被设置为获取新令牌。相反,当我检查令牌是否过期时,问题出现了,但是在该检查和使用它的调用之间,令牌将过期。所以,我在过期检查中添加了一些填充物,现在它工作得很顺利。生活和学习。:)

passport是否将JWTs用于刷新令牌?如果是这样,您是否尝试检查JWT以查看它是否具有获取新访问令牌所需的正确数据?我不认为它完全是JWTs,而是类似的东西。我想我已经检查了刷新令牌是否包含在内(90%确定),但我会在早上再次检查。passport是否使用JWTs作为刷新令牌?如果是这样,您是否尝试检查JWT以查看它是否具有获取新访问令牌所需的正确数据?我不认为它完全是JWTs,而是类似的东西。我想我已经检查了刷新令牌是否包含在内(90%确定),但我会在早上再次检查。