首先,我的设置:
- Ubuntu 服务器 18.04
- 环回 API 3.X
- Node 版本 12.6
我的问题:
我设置了 Loopback API 并创建了一些模型和用户。现在,我真正需要 LoopbackAPI 的就是通过 Chargebee WebHook 发布客户创建的计划。
以下是关于其工作原理的简短说明:
- 客户创建计划
- Chargebee WebHook 通过 LoopbackAPI 上的 AccessToken 进行身份验证(例如http://api-url/示例?request_token=12345678
- 然后通过 POST 将创建的计划的详细信息发送到 LoopbackAPI
只要服务器正在运行,并且我手动登录(curl)用户并创建 AccessToken,此方法就有效。如果使用该创建的令牌,整个链将正常工作。但是,一旦我重新启动服务器,我就无法登录,因为 AccessToken 不再有效(chargebee 上为 401)。
AccessToken-Datasource 设置为存储在 mysql 中,我认为这就是问题所在。表在那里,当我手动登录时,我看到一行包含创建的用户+令牌,但服务器重新启动后它就消失了(空表)
我主要负责操作,并不是真正的开发人员,因此如果我在这里犯了大错误或者忘记提供所需的信息,请告诉我。我的主要问题是如何让这个 AccessToken 在重启后继续存在,但如果有人有任何安全建议,我也很乐意听取。
干杯
答案1
我弄清楚了问题出在哪里。无论如何,如果有人遇到同样的问题,这可能会有所帮助。就我而言,数据库有问题。由于某种原因(我没有调查),尽管所有其他表(用户、ACL……)都在工作,但 loopback 无法将 AccessToken 写入 AccessToken 表。我将 AccessToken 改回使用“DB”作为存储,DB 是 loopback 将存储 AccessToken 的本地文件。这可以正常工作,并且在重新启动服务器后也可以正常工作。