我目前正在为 Facebook Messenger 开发聊天机器人。我正在使用 Microsoft bot 框架,代码是用 node.js 编写的。
我正在通过 API 与数据库交互。对于每个请求,我都必须在请求 header 内传递访问 token 。我在互联网上读到,您通常会将这样的 token 存储在 cookie 或网络存储中。但我还发现您无法在 Facebook Messenger 上执行此操作。我正在考虑将访问 token 存储在变量中,但我担心这可能不安全。 还有其他安全的方式来存储访问 token 吗?
我对 Node.js 相当陌生,这是我第一次使用 token 。非常感谢您的帮助。
最佳答案
您可以使用session.userData来保存您的数据库 token 。如果您担心它的安全性,请在保存之前对其进行加密。
session.userData.dbtoken = encryptToken(token);
稍后您可以在需要时检索和使用 token :
var token = decryptToken(session.userData.dbtoken);
var databaseData = getUserDataFromDatabase(token);
https://docs.botframework.com/en-us/core-concepts/userdata/
或者,使用 NeDB 等本地数据库:https://github.com/louischatriot/nedb这将是最安全的选项,因为数据库将驻留在您的服务器上。
关于node.js - 我应该在哪里存储访问 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43496307/