发布
社区首页 >问答首页 >我应该把访问令牌存放在哪里?

我应该把访问令牌存放在哪里?
EN

Stack Overflow用户
提问于 2017-04-19 12:51:33
回答 3查看 6.2K关注 0票数 5

我目前正在为Facebook Messenger开发一个聊天机器人。我正在使用Microsoft框架,代码是用node.js编写的。

我正在通过api与数据库进行交互。对于每个请求,我必须在请求头内传递一个访问令牌。我在互联网上读到,你通常会把这样的令牌存储在一个曲奇或网络存储器中。然而,我也发现你不能在Facebook Messenger上这么做。我在考虑将访问令牌存储在变量中,但我担心这可能不安全。还有其他安全的方法来存储访问令牌吗?

我对node.js相当陌生,这是我第一次使用令牌。帮助是非常感谢的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-04-20 21:50:57

您可以使用session.userData保存数据库令牌。如果您担心它是否安全,那么在保存之前对其进行加密。

代码语言:javascript
代码运行次数:0
复制
session.userData.dbtoken = encryptToken(token);

稍后可以检索令牌,并在需要时使用它:

代码语言:javascript
代码运行次数:0
复制
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这样的本地数据库--这将是最安全的选项,因为数据库位于您的服务器上。

票数 2
EN

Stack Overflow用户

发布于 2020-08-26 16:30:30

我建议你用快餐会。出于以下原因。使用给定的选项创建会话中间件。

注意:会话数据没有保存在cookie本身中,只是会话ID。会话数据存储在服务器端。

注自1.5.0版本以来,不再需要使用cookie解析器中间件来使该模块工作。这个模块现在直接在req/res上读写cookie。如果这个模块和cookie解析器之间的秘密不相同,那么使用cookie解析器可能会导致问题。

警告默认服务器端会话存储( MemoryStore )并不是为生产环境而设计的。在大多数情况下,它都会泄漏内存,不会扩展到单个进程,而是用于调试和开发。

票数 1
EN

Stack Overflow用户

发布于 2019-03-10 08:21:01

假设此令牌没有改变,您可以将其存储为环境变量,比如TOKEN,并以process.env.TOKEN的形式在nodejs应用程序中访问它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43496307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档