php - 如何在多个环境(开发、阶段、生产)上保持身份验证令牌同步(php)
问题描述
我正在用 PHP(LAMP 堆栈)开发一个应用程序,它包括与外部 API 的一些通信。我正在使用 Oauth2 使用“刷新令牌”进行身份验证(这是我被迫使用它的方式,因为其他方法需要手动登录,在这种情况下我们想要绕过)。
无论如何,我将刷新令牌存储到 MySQL 数据库中,然后在需要时读取它,使用它并设置一个新令牌(如果它已过期)。
问题是令牌变得不同步。因此,如果我在开发环境中做某事,如果令牌得到更新并且我只在开发数据库上同步它(仅)。由于生产和阶段刷新令牌以这种方式变得过时,这些环境上的请求开始失败。我猜这有 3 种方式(因此生产可以将刷新令牌更新到 API,并且由于本地和阶段不会更新它,因此请求将在那里开始失败)。
有没有更好的方法来实现这种“用于开发、阶段和生产的单一令牌”类型的功能?或者这是一种常见的做法,有没有办法实现某种“刷新服务”来更新所有 3 个数据库?
感谢您的任何建议!祝你今天过得愉快 :)
解决方案
推荐阅读
- json - SAP UI5 - 如何在文本区域中显示和格式化 JSON 对象?
- git - 我无法将我的更新代码库推送到 gitlab?
- flutter - 如何在 Flutter 中调用 API 回调?
- ocaml - Re.re 和 sexp.opaque :无法编译
- javascript - 当在 javascript 函数中动态创建 div 时,jquery 的单击事件不起作用,除了在页面加载时它正在工作
- php - $_POST 不更新值
- c# - 如何在 Entity Framework Core 中从不同的上下文中选择插入数据
- python-3.x - 我们如何在 python 中使用没有硒的 ChromeDriver、IEDriver、GeckoDriver?
- python - Python中带有/或线程安全队列的公平信号量
- asp.net-mvc - 无法显示来自 MVC 视图文件的图像