Google SSO oauth 2.0 给出获取 OAuth2 访问令牌时出错,消息:'invalid_grant: Code was already redeemed.'
Google SSO aouth 2.0 gives Error fetching OAuth2 access token, message: 'invalid_grant: Code was already redeemed.'
我已经在我的网站上启用 google 登录,它自上次 3-4 个月以来工作正常,但从昨天开始,它开始每隔 4-5 分钟就出现以下错误
Fatal error: Uncaught exception 'Google_Auth_Exception' with message
'Error fetching OAuth2 access token, message: 'invalid_grant: Code was
already redeemed.'' in
F:\ServerFolders\Projects\domain.com\src\Google\Client.php(131):
Google_Auth_OAuth2->authenticate('4/8hj0saqecCytQ...', false) #1
F:\ServerFolders\Projects\domain.com\application\libraries\NV_gmail.php(105):
Google_Client->authenticate('4/8hj0saqecCytQ...') #2
F:\ServerFolders\Projects\domain.com\application\libraries\layout.php(51):
NV_gmail->login() #3
F:\ServerFolders\Projects\tl-l.com\application\controllers\dashboard.php(19):
layout->header() #4 [internal function]: dashboard->index() #5
F:\ServerFolders\Projects\domain.com\system\core\CodeIgniter.php(359):
call_user_func_array(Array, Array) #6
F:\ServerFolders\Projects\domain.com\index.php(202):
require_once('F:\ServerFolder...') #7 {main} thrown in
F:\ServerFolders\Projects\domain.com\src\Google\Auth\OAuth2.php on
line 126
并显示空白页。
当用户点击验证时,您会得到一个验证码。您获取此代码并将其交换为您的访问令牌和刷新令牌。
'invalid_grant: Code was already redeemed
意味着您正在获取一个已经被使用过的验证码,并试图为其获取另一个访问令牌/刷新令牌。
如果它在过去 4 个月内一直有效,我认为有人更改了您的代码并破坏了它。
改变
curl_setopt($curl, CURLOPT_SSLVERSION, 3);
到
//curl_setopt($curl, CURLOPT_SSLVERSION, 3);
来自 curl.php 根据 github.com/google/google-api-php-client/issues/639 现在工作正常
我已经在我的网站上启用 google 登录,它自上次 3-4 个月以来工作正常,但从昨天开始,它开始每隔 4-5 分钟就出现以下错误
Fatal error: Uncaught exception 'Google_Auth_Exception' with message 'Error fetching OAuth2 access token, message: 'invalid_grant: Code was already redeemed.'' in F:\ServerFolders\Projects\domain.com\src\Google\Client.php(131): Google_Auth_OAuth2->authenticate('4/8hj0saqecCytQ...', false) #1 F:\ServerFolders\Projects\domain.com\application\libraries\NV_gmail.php(105): Google_Client->authenticate('4/8hj0saqecCytQ...') #2 F:\ServerFolders\Projects\domain.com\application\libraries\layout.php(51): NV_gmail->login() #3 F:\ServerFolders\Projects\tl-l.com\application\controllers\dashboard.php(19): layout->header() #4 [internal function]: dashboard->index() #5 F:\ServerFolders\Projects\domain.com\system\core\CodeIgniter.php(359): call_user_func_array(Array, Array) #6 F:\ServerFolders\Projects\domain.com\index.php(202): require_once('F:\ServerFolder...') #7 {main} thrown in F:\ServerFolders\Projects\domain.com\src\Google\Auth\OAuth2.php on line 126
并显示空白页。
当用户点击验证时,您会得到一个验证码。您获取此代码并将其交换为您的访问令牌和刷新令牌。
'invalid_grant: Code was already redeemed
意味着您正在获取一个已经被使用过的验证码,并试图为其获取另一个访问令牌/刷新令牌。
如果它在过去 4 个月内一直有效,我认为有人更改了您的代码并破坏了它。
改变
curl_setopt($curl, CURLOPT_SSLVERSION, 3);
到
//curl_setopt($curl, CURLOPT_SSLVERSION, 3);
来自 curl.php 根据 github.com/google/google-api-php-client/issues/639 现在工作正常