2016-03-23 16 views
34

Ho lo stesso errore di this. Nel mio caso accade quando l'applicazione sta tentando di caricare un file tramite l'API di Google Cloud Client.Il token deve essere un token di breve durata e in un intervallo di tempo ragionevole

POST https://www.googleapis.com/oauth2/v4/token 
400 Bad Request 
Invalid JWT: Token must be a short-lived token and in a reasonable timeframe 

Come caricare il token è la lettura di un file JSON servizio di-conto, e collegarlo a CURLOPT_HTTPHEADER in PHP. Ha funzionato correttamente per l'ultimo mese, quindi suppongo che Google abbia cambiato il modo di autorizzare.

Qualcuno ha affrontato & risolto?

+0

Non ho fatto nulla, ma è stato risolto. Qualcuno ha pensieri? – wataru

+1

Ecco la mia risposta [inserire la descrizione del collegamento qui] (http://stackoverflow.com/a/36332476/2548058) –

+2

@MichaelMishKisilenko a quanto pare causa l'orologio interno non sincronizzato. Grazie per aver condiviso la tua! – wataru

risposta

75

mi sono imbattuto lo stesso problema più o meno allo stesso tempo, così mi aspettavo un bug generico di Google, ma qui è quello che era successo sul mio computer:

raise HttpAccessTokenRefreshError(error_msg, status=resp.status) 
oauth2client.client.HttpAccessTokenRefreshError: invalid_grant: Invalid JWT: Token must be a short-lived token and in a reasonable timeframe 

è stato causato nel mio caso da una scarsa sincronizzazione dell'orologio del computer in cui è stato eseguito il codice che ha avuto un ritardo di 5 minuti (a causa di una batteria difettosa per l'orologio interno). Ha iniziato a funzionare di nuovo quando ho modificato manualmente l'orario interno del mio computer a quello corretto.

Questa soluzione è stata menzionate here, ma non con il messaggio di errore completo

+1

Probabilmente è la risposta, perché a volte ho visto che l'orologio del mio server non è sincronizzato. Apprezzo che – wataru

+1

Questa sembra essere la soluzione. In particolare, il contenitore Docker che sto utilizzando ha un orologio rotto anche se il mio orologio di sistema è a posto. – plowman

+0

aveva esattamente lo stesso problema qui. L'orologio del mio computer era 5 minuti fuori sincrono. Grazie per la risposta –

8

ho avuto lo stesso problema, ho scoperto che il mio server era in ritardo di 8 minuti. Ho configurato il server NTP e magicamente è stato risolto

+1

l'esecuzione di 'ntpdate ntp.ubuntu.com' ha funzionato per me, grazie! –

+0

Quindi continua ad accadere come posso assicurarmi che l'orario del server sia sempre aggiornato? Continuo a ottenere lo stesso errore ... – gustavoanalytics

3

Lo stesso problema riscontrato ... reimpostare manualmente l'orologio del mio computer all'orario corrente .... problema risolto.

+0

Ero di fronte a quel problema con Xcode, ma dopo aver resettato il tempo, il mio progetto è stato eseguito correttamente. – Zulqarnain

0

Sono rimasto perplesso per ore. Ho persino pubblicato this question. Si è scoperto che avevo trascurato qualcosa che avrebbe dovuto essere piuttosto ovvio. Il mio server di sviluppo è una macchina virtuale Linux. L'orologio della mia VM era di 8 giorni dietro il mio orologio di sistema locale. Quindi, mentre il mio orologio locale era corretto, ho trascurato il fatto che la mia VM era in ritardo di diversi giorni. Speriamo che questo possa salvare un po 'di tempo distratto.