Dropbox api 的可重复使用的刷新令牌?
re-usable refresh tokens for dropbox api?
我正在使用 .net api for v2 使用代码流方案。我的印象是,这就是您用来获取刷新令牌的方式,您可以保存并在用户授权您的应用一次后重新使用以获取新的访问令牌。
像下面这样调用之后,我浏览调用提供的 uri。
var redirect = DropboxOAuth2Helper.GetAuthorizeUri(OauthResponseType.Code, AppKey, RedirectUri, user.ConnectState);
我解析代码参数的结果,然后将其提供给 ProcessCodeFlowAsync()。这只适用于获取访问令牌一次。如果我保存并再次尝试使用它,我会收到 "code has already been used : invalid grant" 个错误。
我以为我得到的是一个刷新令牌,但反复向它提供 ProcessCodeFlowAsync 不起作用。我如何获得一个刷新令牌,我可以重复使用它来获取访问令牌,而不必每次都让用户授权。顺便说一句,我正在缓存并重新使用身份验证令牌而不是访问令牌。
Dropbox API 不使用刷新令牌。相反,您应该只存储并重新使用您在应用授权流程结束时获得的访问令牌。
虽然用户或应用程序可以随时撤销访问令牌,因此 if/when API 调用由于访问令牌已撤销而开始失败,您可以提示用户重新 link 应用程序如果他们想继续使用集成,那么应用程序可以获得新的令牌。
(您传递给 ProcessCodeFlowAsync
的 "code" 是一个 "authorization code",不可重复使用。)
当时接受的答案可能是正确的,但 Dropbox API 现在支持刷新令牌。
在此处查看 Refresh token
部分:
https://www.dropbox.com/lp/developers/reference/oauth-guide
我正在使用 .net api for v2 使用代码流方案。我的印象是,这就是您用来获取刷新令牌的方式,您可以保存并在用户授权您的应用一次后重新使用以获取新的访问令牌。
像下面这样调用之后,我浏览调用提供的 uri。
var redirect = DropboxOAuth2Helper.GetAuthorizeUri(OauthResponseType.Code, AppKey, RedirectUri, user.ConnectState);
我解析代码参数的结果,然后将其提供给 ProcessCodeFlowAsync()。这只适用于获取访问令牌一次。如果我保存并再次尝试使用它,我会收到 "code has already been used : invalid grant" 个错误。
我以为我得到的是一个刷新令牌,但反复向它提供 ProcessCodeFlowAsync 不起作用。我如何获得一个刷新令牌,我可以重复使用它来获取访问令牌,而不必每次都让用户授权。顺便说一句,我正在缓存并重新使用身份验证令牌而不是访问令牌。
Dropbox API 不使用刷新令牌。相反,您应该只存储并重新使用您在应用授权流程结束时获得的访问令牌。
虽然用户或应用程序可以随时撤销访问令牌,因此 if/when API 调用由于访问令牌已撤销而开始失败,您可以提示用户重新 link 应用程序如果他们想继续使用集成,那么应用程序可以获得新的令牌。
(您传递给 ProcessCodeFlowAsync
的 "code" 是一个 "authorization code",不可重复使用。)
当时接受的答案可能是正确的,但 Dropbox API 现在支持刷新令牌。
在此处查看 Refresh token
部分:
https://www.dropbox.com/lp/developers/reference/oauth-guide