如果应用程序无权访问浏览器控件或 http 上下文,是否可以刷新令牌?我有一个 WinForm 可以让用户登录并获得同意,然后它将令牌传递给 Windows 服务,以便可以将文件上传到 OneDrive。当令牌过期时,似乎所有刷新令牌的方法都需要回调 URL。
问问题
994 次
1 回答
0
如果您已请求wl.offline_access
范围并且您正在使用 OAuth 2.0 中的授权代码授权流程,则可以执行此操作。用户通过 OAuth 登录后,您将收到一个access_token
有效期为 1 小时的 ,和refresh_token
一个 长期有效的 。
每次您的服务需要代表用户完成工作时,您可以将 兑换refresh_token
成新的access_token
and refresh_token
,然后使用access_token
来完成工作。确保你也保存了refresh_token
你拿回来的新的,以确保你延长到期时间。
通过这种方式,您可以拥有一项服务,该服务可以长时间代表用户执行操作,而无需用户再次登录。但是,可能refresh_token
会过期或失效,因此您需要处理无法兑换的情况refresh_token
。
于 2015-03-15T22:08:00.263 回答