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.
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?
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.
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:
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.
Antworten:
Die Spezifikation sagt Sekunden:
http://tools.ietf.org/html/draft-ietf-oauth-v2-22#section-4.2.2
Ich stimme OP zu, dass es für Google nachlässig ist, dies nicht zu dokumentieren.
quelle
Schauen Sie sich Folgendes an: https://developers.google.com/accounts/docs/OAuth2UserAgent#handlingtheresponse
Es sagt:
quelle
Da es keine akzeptierte Antwort gibt, werde ich versuchen, diese zu beantworten:
quelle
Aus Google OAuth2.0 für Client- Dokumentation,
quelle