2017-06-22 74 views
0

一旦我通過獲取用戶授權並創建訪問令牌來完成OAuth流程,如何獲得另一個令牌而無需再次詢問用戶授權?我認爲用戶在Smartsheet上的帳戶會記住他們信任該應用程序,但似乎並非如此。我是OAuth的新手,所以如果我錯過了某些明顯的東西,我很抱歉。Smartsheet API - OAuth流程 - 記住授權

謝謝!

回答

2

通過OAuth流獲取的訪問令牌僅在一段時間內有效 - 您(即您的應用程序)可以在令牌到期之前刷新令牌,以防止最終用戶再次需要提供授權。

當您發出GET Token request以獲取訪問令牌時,響應不僅包含令牌本身,還包含指示令牌有效期限的信息(expires_in屬性指示令牌到期之前的秒數)和您需要用來刷新令牌的refresh_token屬性值。

爲防止用戶再次提供授權,只需refresh the token過期,然後在隨後的API請求中使用新的(刷新的)令牌值。請注意,您獲得的每個令牌(無論是原始令牌還是刷新令牌)都將在有限的時間內過期,因此需要刷新令牌以便應用程序維護用戶授權。

+0

那麼如果用戶在令牌過期之前不再使用應用程序會發生什麼?我會無法刷新令牌嗎?他們是否必須再次授權該應用程序?謝謝你的幫助! –

+0

如果令牌過期,則該令牌變爲無效並且無法刷新 - 最終用戶將不得不再次提供授權。也就是說,您的應用程序不一定要等待用戶再次使用應用程序刷新令牌 - 您的應用程序可以隨時刷新令牌(只要令牌尚未過期)。 –

+0

@RobertSeger - 如果我的回答充分解決了您的問題,您能否將其標記爲「已接受」的答案?這樣做可以讓其他人從未來的信息中受益。謝謝! –