Fehlerhaftes Verhalten des OAuth2.0-Tokens (ungültige Anmeldeinformationen 401)

In Der Regel, Google OAuth2.0 Mechanismus funktioniert Super.

  1. Bestätigt der Benutzer die Berechtigung zum Zugriff auf Google-Konto mit ausgewählten Bereiche.
  2. Die refresh-token abgerufen, gespeichert und zu lange Lagerung.
  3. Jedes mal erforderlich (wenn der access-token abgelaufen) access-token abgerufen und verwendet, um Zugriff auf APIs.

Aber manchmal (bisher nur zwei mal für mehr als 6 Monate), die ich erlebt habe seltsames Verhalten:

Anfragen an Google APIs Ungültige Anmeldeinformationen (401) Fehler.
Aktualisieren der access-token (mit der gespeicherten refresh-token) nicht helfen.

Hier einige strukturierte Ausgabe habe ich beim testen dieser Ausgabe:

 + ------------------------------------------------------------------------- + 
| 1.VERSUCHT, AKTUALISIEREN SIE DAS TOKEN. | 
| 2.ERFOLGT DIE AUFFRISCHUNG DES TOKEN. | 
+ ------------------------------------------------------------------------- + 
| access: **************************************************** | 
| refresh: ********************************************* | 
| expires: 3600 | 
| erstellt: 2013-07-23 13:12:36 | 
+ ------------------------------------------------------------------------- + 

Habe ich auch versucht, zu überprüfen, die "frischen" access-Tokens durch das senden von Anfragen an
https://www.googleapis.com/oauth2/v1/tokeninfo

 + ------------------------------------------------------------------------- + 
| 1. VERSUCHEN, ÜBERPRÜFEN SIE DIE TOKEN . | 
| 2. ERFOLGT DIE ÜBERPRÜFUNG DER TOKEN DER TOKEN. | 
+ ------------------------------------------------------------------------- + 
| issued_to: ************.apps.googleusercontent.com | 
| Publikum: ************.apps.googleusercontent.com | 
| user_id: ************ | 
| expires_in: 3600 | 
| E-Mail: **********@gmail.com | 
| verified_email: 1 | 
| access_type: offline | 
| Bereiche:: | 
+ ------------------------------------------------------------------------- + 
| https://www.googleapis.com/auth/userinfo.email | 
| https://www.googleapis.com/auth/userinfo.profile | 
| https://www.googleapis.com/auth/plus.me | 
| https://www.googleapis.com/auth/drive | 
+ ------------------------------------------------------------------------- + 

Aber wenn ich versuche, Zugriff auf Laufwerk füttern die Antwort ist:

 Fehler beim Aufruf BEKOMMEN https://www.googleapis.com/drive/v2/files (401) Ungültige Anmeldeinformationen 

domain: global 
Grund: authError 
Meldung: Ungültige Anmeldeinformationen 
locationType: header 
Lage: Genehmigung 

Wir haben auch erlebt das gleiche Problem mit dem Kalender.
Also:

  1. Token gültig war, bevor Sie (alles hat funktioniert).
  2. Erfrischend token funktioniert immer noch.
  3. Beantragt, ein Futtermittel reagiert mit "Ungültige Anmeldeinformationen" Fehler.
  4. Alle anderen Token sind immer noch toll arbeiten, was bedeutet, dass der code gültig ist.

In der Regel, wenn das token widerrufen "invalid_grant" Fehler wird zurückgegeben, wenn Sie versuchen, aktualisieren Sie das token.

Fragen

  1. Was kann der Grund sein für dieses Verhalten? Wenn Sie die refresh-token wurde, widerrufen wurde oder ungültig in irgendeiner anderen Art und Weise, sollte der Antrag für die neue access-token erzeugen Fehler?
  2. Ist es ein Weg, um überprüfen Sie die refresh-token?

InformationsquelleAutor der Frage Darth Flipman | 2013-07-23

Schreibe einen Kommentar