node.js - 我应该在哪里存储访问 token

标签 node.js botframework facebook-messenger

我目前正在为 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/

相关文章:

botframework - 如何在确认提示(Microsoft Bot Framework)中添加对不同语言的支持?

botframework - 为 Azure Bot 创建 Facebook Messenger channel 时出错

javascript - 增加nodejs管道的最大字节大小

node.js - Node socket.io客户端监听发送到其他客户端的事件

testing - 在 Botium 中订购测试用例

python - Microsoft Bot Emulator 显示 "sending failed. Retry"。 VSCode 显示 KeyError : 'HTTP_CONTEXT_TYPE'

ios - Node.js 服务器向 iOS 应用程序发送信息

node.js - Heroku Autoscale 与 Node.js

facebook - 如何将 Facebook 测试页面订阅到 Messenger 应用程序

facebook-messenger - Facebook 信使 : Is it Possible to Initiate Chat With Parameters?