如何从Windows服务刷新令牌?

时间:2014-09-10 19:21:38

标签: onedrive live-sdk

如果应用程序无权访问浏览器控件或http上下文,是否可以刷新令牌?我有一个WinForm,它记录用户并获得同意,然后将令牌传递给Windows服务,以便将文件上传到OneDrive。当令牌过期时,似乎刷新令牌的所有方法都需要回调URL。

1 个答案:

答案 0 :(得分:0)

如果您已经请求了wl.offline_access范围,并且您在OAuth 2.0中使用了授权码授权流,则可以执行此操作。用户通过OAuth登录后,您将收到有效期为1小时的access_token和有效期较长的refresh_token

每次您的服务需要代表用户开展工作时,您可以将refresh_token兑换为新的access_tokenrefresh_token,然后使用{{ 1}}做工作。确保您保存新的access_token,以确保延长过期时间。

通过这种方式,您可以拥有一项代表用户长时间执行操作的服务,而无需用户再次登录。但是,refresh_token可能会过期或失效,因此您需要处理无法兑换refresh_token的情况。