我有多个进程(有些不受我的控制)需要访问一个API,而该API一次只允许我创建一个OAuth 2.0令牌。如果我创建更多令牌,我将面临将用户逐出应用程序的风险。您对如何管理此问题有何建议?我认为我需要创建一个中间层来管理令牌并将信息传递给API,这很好,但即使如此,如果每秒有多个请求进入这个中间层,我如何确保我一次只有一个活动令牌?我是否不会冒一个调用创建令牌的风险,因为令牌不存在(因此无法刷新)同时另一个调用正在执行相同的操作?
gj3fmq9x1#
考虑到存在多个进程的事实,oauth端点是所有进程的交汇点,这似乎是解决该问题的一个合理点。首先,我会创建一个oAuth代理(正如你所说的),所有进程都使用它来获取访问/刷新令牌。这个代理将用于获取原始访问/刷新令牌和处理刷新。至于使访问令牌成为一件事,我将使用以下逻辑:
1条答案
按热度按时间gj3fmq9x1#
考虑到存在多个进程的事实,oauth端点是所有进程的交汇点,这似乎是解决该问题的一个合理点。
首先,我会创建一个oAuth代理(正如你所说的),所有进程都使用它来获取访问/刷新令牌。这个代理将用于获取原始访问/刷新令牌和处理刷新。
至于使访问令牌成为一件事,我将使用以下逻辑: