【问题标题】:Smartsheet API - OAuth flow - remembering authorizationSmartsheet API - OAuth 流程 - 记住授权
【发布时间】:2017-06-23 00:48:44
【问题描述】:

通过从用户获取授权然后创建访问令牌完成 OAuth 流程后,如何在不再次请求用户授权的情况下获取另一个令牌?我认为 Smartsheet 上的用户帐户会记住他们信任该应用程序,但事实似乎并非如此。我是 OAuth 的新手,所以如果我遗漏了一些明显的东西,我很抱歉。

谢谢!

【问题讨论】:

    标签: oauth-2.0 smartsheet-api


    【解决方案1】:

    通过 OAuth 流程检索的访问令牌仅在特定时间段内有效 - 您(即您的应用程序)可以在令牌过期之前刷新它,以防止最终用户不得不再次提供授权。

    当您发出GET Token request 以获取访问令牌时,响应不仅包含令牌本身,还包含指示令牌有效时长的信息(expires_in 属性表示距离令牌的秒数expires) 和 refresh_token 属性值,您需要它来刷新令牌。

    为防止用户不得不再次提供授权,只需在其过期前refresh the token,然后在后续 API 请求中使用新的(刷新的)令牌值。请注意,您获得的每个令牌(无论是原始令牌还是刷新令牌)都会在有限的时间内过期,因此需要您刷新令牌才能让您的应用程序保持用户授权。

    【讨论】:

    • 那么如果用户在令牌过期之前没有再次使用应用程序会发生什么?我会无法刷新令牌吗?他们是否必须再次授权申请?感谢您的帮助!
    • 如果令牌过期,它将变得无效并且无法刷新——最终用户将不得不再次提供授权。也就是说,您的应用程序不必等待用户再次使用该应用程序来刷新令牌——您的应用程序可以随时刷新令牌(只要令牌尚未过期)。跨度>
    • @RobertSeger -- 如果我的回答充分解决了您的问题,您能否将其标记为“已接受”答案?这样做将允许其他人在未来从这些信息中受益。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-04
    • 2016-10-15
    • 2015-09-15
    • 2016-05-23
    • 1970-01-01
    • 2018-08-05
    • 2017-09-15
    相关资源
    最近更新 更多