通过从用户获取授权然后创建访问令牌来完成OAuth流程后,如何在不要求用户再次授权的情况下获取另一个令牌?我认为Smartsheet上的用户帐户会记得他们信任该应用程序,但情况似乎并非如此。我是OAuth的新手,所以如果我遗漏了一些明显的东西,我很抱歉。
谢谢!
答案 0 :(得分:2)
通过OAuth流检索的访问令牌仅在一段时间内有效 - 您(即您的应用程序)可以在令牌过期之前刷新令牌,以防止最终用户再次提供授权。
当您发出GET Token request以获取访问令牌时,响应不仅包含令牌本身,还包含指示令牌有效期多长的信息(expires_in
属性指示数量令牌到期前的秒数)以及刷新令牌所需的refresh_token
属性值。
要防止用户再次提供授权,只需在refresh the token到期之前提供授权,然后在后续API请求中使用新的(刷新的)令牌值。请注意,您获得的每个令牌(无论是原始令牌还是刷新令牌)将始终在有限的时间内到期,因此您需要刷新令牌以便应用程序维护用户授权。