我目前正在将 GMail 集成到业务线 Web 应用程序 (ASP.NET MVC) 中,该应用程序将在负载均衡器后面的多个服务器上运行。此外,还将有一个控制台应用程序,由调度程序运行,以执行常规作业。
多个用户将使用 Web 应用程序——它是企业的后台——但只有一个 GMail 帐户用于与客户进行电子邮件通信。管理员将授权访问该 GMail 帐户(用户将无法直接访问 GMail 帐户)。
我知道将需要一个令牌存储。
我的问题是确保当 OAuth 2 刷新令牌用于更新访问令牌时没有并发问题。
我看不到Google .NET OAuth2 库有任何能力来控制何时(例如通过查看事件)刷新发生。
我可以在每次访问之前手动检查到期时间,但是有没有更好的方法?
(我仍然需要解决在刷新时阻止其他进程(包括在其他服务器上)使用令牌的问题,但这是另一个问题。)