如何从Windows服务刷新令牌?

如何从Windows服务刷新令牌?

问题描述:

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

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

您的每一个服务需要做代表用户的工作时间,你可以赎回refresh_tokenaccess_tokenrefresh_token,然后用access_token做的工作。确保你保存了新回复的refresh_token,以确保延长到期日期。

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