2

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

4

1 回答 1

0

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

每次您的服务需要代表用户完成工作时,您可以将 兑换refresh_token成新的access_tokenand refresh_token,然后使用access_token来完成工作。确保你也保存了refresh_token你拿回来的新的,以确保你延长到期时间。

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

于 2015-03-15T22:08:00.263 回答