Ablaufzeit des Google-Zugriffstokens

150

Wenn ich eine access_tokenvon der Google-API erhalte, wird sie mit einem expires_inWert geliefert. Gemäß der Dokumentation gibt dieser Wert "Die verbleibende Lebensdauer des Zugriffstokens" an.

Was sind die Einheiten dieses Wertes?

Frank LaRosa
quelle
8
Weil 99,9% der Zeit, in der Sie eine Zahl haben, die die Zeit darstellt, entweder Sekunden oder eine Unterteilung davon ist und Milli / Mikrosekunden für diesen Fall keinen Sinn ergeben?
Venge
7
@FrankLaRosa: Gibt es eine Möglichkeit, den Ablauf des Zugriffstokens auf unbegrenzt zu setzen?
Hardik
Ich wiederhole das Semi-Ding: Bitte akzeptiere die Antwort unten, wenn das zufriedenstellend ist, danke! Die Einheiten dieses Wertes sind jedoch Sekunden.
Davide Castronovo
@Hardik, wie kann ich die Ablaufzeit unbegrenzt machen? Hast du eine Lösung gefunden?
Jay Patel
Welche Beziehung besteht interessanterweise zwischen dem Ablaufen und dem Zulassen einer Aktualisierung (um ein neues Token zu erhalten)? Wenn Sie warten, bis es abläuft, um ein neues Token zu erhalten, schlagen einige API-Aufrufe dazwischen fehl. Wenn Sie zu früh "aktualisieren", erhalten Sie nur den alten Token zurück. Woher wissen Sie, wann Sie ein neues Token relativ zum angegebenen expires_in erhalten können?
John Little

Antworten:

96

Die Spezifikation sagt Sekunden:

http://tools.ietf.org/html/draft-ietf-oauth-v2-22#section-4.2.2

expires_in
    OPTIONAL.  The lifetime in seconds of the access token.  For
    example, the value "3600" denotes that the access token will
    expire in one hour from the time the response was generated.

Ich stimme OP zu, dass es für Google nachlässig ist, dies nicht zu dokumentieren.

Lawrence Kesteloot
quelle
Sie müssen auf die Registerkarte "OAUTH 2.0 ENDPOINTS" klicken
Davide Castronovo
89

Schauen Sie sich Folgendes an: https://developers.google.com/accounts/docs/OAuth2UserAgent#handlingtheresponse

Es sagt:

Weitere in der Antwort enthaltene Parameter sind expires_inund token_type. Diese Parameter beschreiben die Lebensdauer des Tokens in Sekunden ...

Stewe
quelle
Auf welches Token bezieht sich expires_in: Zugriffstoken oder Aktualisierungstoken?
ス レ ッ ク ス
1
@AlexanderSupertramp, der das Zugriffstoken als Aktualisierungstoken bezeichnen sollte, wird verwendet, um neue Zugriffstoken abzurufen, wenn der Benutzer offline ist.
Jeremy Thiesen
15

Da es keine akzeptierte Antwort gibt, werde ich versuchen, diese zu beantworten:

[s] - seconds
msysmilu
quelle
6

Aus Google OAuth2.0 für Client- Dokumentation,

  • expires_in - Die Anzahl der Sekunden, die noch verbleiben, bevor das Token ungültig wird.
Davide Castronovo
quelle
Es ist nicht mehr auf dieser Seite, der Maximalwert kann als 3900 eingegeben werden, aber der tatsächliche Wert ist 3600. Frage mich, ob es eine Möglichkeit gibt, ein Token ohne Ablaufdatum zu haben?
Sojim2
Siehe diesen Link auf dieser Seite: developer.google.com/identity/protocols/…, aber ich weiß nicht, wie ich ein nicht ablaufendes Token erhalten kann. Ich denke jedoch, dass die Verwendung solcher Token ein schlechtes Design für die Sicherheit ist.
Davide Castronovo