1
我有一個web服務器與IOS應用程序進行通信,爲用戶獲取離線訪問令牌/刷新令牌對。直到最近,在沒有任何代碼更改的情況下,這似乎運行良好,大多數身份驗證請求都開始失敗。我一直在試圖調試"invalid_grant"
似乎非確定性的錯誤。一個用戶可能會嘗試多次使用Google接受的一些嘗試進行身份驗證,有些則不會。我們看到進來以下形式的錯誤(我們使用的是谷歌的Java API客戶端):使用說明調試「invalid_grant」錯誤:「代碼無效。」
com.google.api.client.auth.oauth2.TokenResponseException400 Bad Request { "error" : "invalid_grant", "error_description" : "Invalid code." }
at com.google.api.client.auth.oauth2.TokenResponseException.from(TokenResponseException.java:105)
at com.google.api.client.auth.oauth2.TokenRequest.executeUnparsed(TokenRequest.java:287)
at com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeTokenRequest.execute(GoogleAuthorizationCodeTokenRequest.java:158)
我試圖確保我們正在運行此服務器與NTP正確同步時鐘。
我在這裏如何進行一點點的損失。你將如何調試?
你看過[這個問題](http://stackoverflow.com/questions/10025698/authentication-on-google-oauth2-keeps-returning-invalid-grant)或[this one?](http ://stackoverflow.com/questions/24002970/google-oauth-token-exchange-returns-invalid-code) –
我沒有特別看過這些帖子,但我很確定它不重複使用授權因爲將它交換爲訪問令牌/刷新令牌對有時會成功。我們確定在10分鐘內使用訪問令牌(應始終在10秒內使用)。第二篇文章似乎涉及過期訪問令牌而不是脫機訪問/刷新令牌對的問題。澄清:我們看到的問題都是在初始交換訪問/刷新令牌對的認證碼時。 –
噢,我也嘗試通過security.google.com撤銷我的應用程序對我的Google帳戶的訪問權限,無效。仍然收到「invalid_grant」錯誤。 –