如何在我的网站上安全存储用于第三方服务的密码

时间:2019-03-23 21:44:38

标签: node.js security password-protection

我有一个网站是使用nodeJS后端创建的,但目前存在安全问题。

要使我的网站正常运行,我需要使用需要用户名,密码和安全码的第三方服务登录。我必须能够全天自动多次登录多个帐户才能使我的网站正常运行。我没有存储任何用户信息,这是我自己的帐户信息。

因此,将所有内容以纯文本格式存储在我的一个类中显然不是一个好主意,那么存储我的登录信息的最佳方法是什么?拥有只能使用内部数据在本地访问的数据库是一个不错的选择吗?正如我之前所说,它必须能够自动登录,所以我不确定哈希是否可以工作,因为代码无论如何都必须对其进行解密,所以如果我的代码公开了,这真的很重要吗?

在此先感谢您的帮助。

3 个答案:

答案 0 :(得分:0)

存储密码可能不是一个好主意,因为即使您加密了密码, 加密密钥仍位于服务器中的某个位置。 您是否检查了第三方服务是否以oauth或等效身份提供身份验证流程?

答案 1 :(得分:0)

您基本上是在问“我如何在后端存储机密?”。

在本地,您将使用一个.env文件(该文件未提交版本控制)来存储您的机密(即“ USERNAME = JBallin”)。

然后,您将使用诸如dotenv之类的值将这些值提取到环境变量中,并在您的后端使用它们。

在生产中,您将这些环境变量存储在服务器上(指令取决于部署环境)。

答案 2 :(得分:0)

有一项新技术-密码强化加密(PHE)协议–一种功能强大且具有革命性的密码技术,可提供更强大,更现代的安全性,从而保护用户数据并减轻与弱密码相关的安全风险。

Virgil PureKit allows开发人员与Virgil PHE Service进行交互,以保护用户密码和数据库中敏感的个人身份信息(PII数据)免受脱机/在线攻击,并在数据库受到威胁时使被盗的密码/数据无用。 Virgil和攻击者都不了解用户的密码/数据。

我为您提供了链接,您可以在其中找到以下语言的代码段:Go,PHP,C#,Java