对我来说,OAuth的访问令牌/刷新令牌流程似乎非常不安全。帮助我更好地理解它。
假设我正在集成使用OAuth的API(例如此类)。我拥有我的访问令牌并进行API调用-世界上一切都很好。但是,然后我的访问令牌过期了,我需要一个新的令牌。没问题,我使用我获得的刷新令牌,然后我获得了一个新的访问令牌。
以上所有内容听起来都很好... 但在多线程世界中不是这样的。也就是说,如果以上所有操作在不同的线程上的确切相同的时间发生两次(例如,两个用户同时针对同一对象请求API调用),并且在任何给定时间只能有一个访问令牌存活,那么不会其中一个取消另一个吗?在高事务应用程序中,这种情况会经常发生。
我强烈感觉这是一个愚蠢的问题,但我无法理解如何使其线程安全。