เวลาหมดอายุการเข้าถึงโทเค็นของ Google


150

เมื่อฉันได้รับaccess_tokenจาก Google API มันมาพร้อมกับexpires_inค่า ตามเอกสารประกอบค่านี้ระบุ "อายุการใช้งานที่เหลืออยู่ของโทเค็นการเข้าถึง"

หน่วยของค่านี้คืออะไร?


8
เพราะ 99.9% ของเวลาที่คุณมีตัวเลขแสดงเวลาเป็นวินาทีหรือส่วนย่อยของมันและมิลลิวินาที / ไมโครวินาทีทำให้ไม่มีเหตุผลสำหรับกรณีนี้?
Venge

7
@FrankLaRosa: มีวิธีใดบ้างที่จะกำหนดโทเค็นการเข้าถึงที่ไม่ จำกัด
hardik

ฉันทำซ้ำสิ่ง seme: โปรดยอมรับคำตอบด้านล่างหากเป็นที่น่าพอใจขอบคุณ! อย่างไรก็ตามหน่วยของค่านี้คือวินาที
Davide Castronovo

@ Hardik ฉันจะทำให้เวลาหมดอายุไม่ จำกัด ได้อย่างไร คุณพบวิธีการแก้ปัญหาใด ๆ ?
Jay Patel

สิ่งที่น่าสนใจคือความสัมพันธ์ระหว่างการหมดอายุและการอนุญาตให้รีเฟรช (เพื่อรับโทเค็นใหม่) คืออะไร หาก yuo รอจนกว่าจะหมดอายุเพื่อรับโทเค็นใหม่การเรียก api บางอย่างจะล้มเหลวระหว่างนั้น หากคุณ "รีเฟรช" เร็วเกินไปคุณจะได้รับโทเค็นเก่ากลับมา คุณจะรู้ได้อย่างไรว่าคุณจะได้รับโทเค็นใหม่เมื่อเทียบกับ expires_in ที่ให้มาได้อย่างไร
John Little

คำตอบ:


96

ข้อมูลจำเพาะบอกว่าวินาที:

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.

ฉันเห็นด้วยกับ OP ว่ามันไม่สนใจที่ Google จะไม่ทำเอกสาร


คุณต้องคลิกที่แท็บ "OAUTH 2.0 ENDPOINTS"
Davide Castronovo

89

ลองดูที่: https://developers.google.com/accounts/docs/OAuth2UserAgent#handlingtheresponse

มันบอกว่า:

พารามิเตอร์อื่น ๆ รวมถึงในการตอบสนองรวมและexpires_in token_typeพารามิเตอร์เหล่านี้อธิบายอายุการใช้งานของโทเค็นในไม่กี่วินาที ...


โทเค็นใด expires_in อ้างถึง: โทเค็นการเข้าถึงหรือโทเค็นการรีเฟรช?
アレックス

1
@AlexanderSupertramp ที่ควรอ้างถึงโทเค็นการเข้าถึงเนื่องจากโทเค็นการรีเฟรชใช้เพื่อรับโทเค็นการเข้าถึงใหม่เมื่อผู้ใช้ออฟไลน์
Jeremy Thiesen

15

เนื่องจากไม่มีคำตอบที่ยอมรับได้ฉันจะพยายามตอบคำถามนี้:

[s] - seconds

6

จากGoogle OAuth2.0 สำหรับเอกสารลูกค้า

  • หมดอายุใน - จำนวนวินาทีที่เหลือก่อนที่โทเค็นจะไม่ถูกต้อง

ไม่ได้อยู่ในหน้านั้นอีกต่อไปค่าสูงสุดสามารถป้อนเป็น 3900 แต่มูลค่าจริงคือ 3600 สงสัยว่ามีวิธีที่จะมีโทเค็นที่ไม่หมดอายุหรือไม่?
sojim2

ดูลิงค์นี้ในหน้านั้น: developers.google.com/identity/protocols/ …แต่ฉันไม่รู้วิธีรับโทเค็นที่ไม่หมดอายุฉันคิดว่าใช้โทเค็นดังกล่าวเป็นการออกแบบที่ไม่ดีสำหรับความปลอดภัย
Davide Castronovo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.