簡體   English   中英

Google SSO aouth 2.0 提供錯誤獲取 OAuth2 訪問令牌,消息:“invalid_grant:代碼已被贖回。”

[英]Google SSO aouth 2.0 gives Error fetching OAuth2 access token, message: 'invalid_grant: Code was already redeemed.'

我在我的網站上使用 google enable 登錄它自過去 3-4 個月以來工作正常,但從昨天開始它開始每 4-5 分鍾出現以下錯誤

致命錯誤:未捕獲的異常“Google_Auth_Exception”,消息為“獲取 OAuth2 訪問令牌時出錯,消息:“invalid_grant:代碼已被贖回。”在 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 [內部函數]: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} 被拋出F:\\ServerFolders\\Projects\\domain.com\\src\\Google\\Auth\\OAuth2.php 第 126 行

並顯示空白頁。

當用戶單擊身份驗證時,您將獲得一個身份驗證代碼。 您獲取此代碼並將其交換為您的訪問令牌和刷新令牌。

'invalid_grant: 代碼已被兌換

意味着您正在使用已使用的身份驗證代碼並嘗試為其獲取另一個訪問令牌/刷新令牌。

如果它在過去 4 個月內一直有效,我的觀點是有人更改了您的代碼中的某些內容並破壞了它。

改變

curl_setopt($curl, CURLOPT_SSLVERSION, 3); 

 //curl_setopt($curl, CURLOPT_SSLVERSION, 3); 

來自 curl.php 根據github.com/google/google-api-php-client/issues/639現在工作正常

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM