验证 node.js 文件使用的最佳方式?

Best way to authenticate node.js file use?

我有一个 node.js 文件,当 运行 首先通过从 JSON 文件读取两个字符串来验证用户。

但是,这种方法的一个主要问题是:

JSON 文件

{
    "id": "12345",
    "apiKey": "foo"
}

JS 文件

if (jsonFile.id === "123" && jsonFile.apiKey === "foo") {
    return true;
} else {
    return false;
}

是用户可以将 JS 文件中的值更改为他们想要放入 JSON 文件中的任何值,以便他们可以验证任何内容。

一个解决方案,我认为是使用带有加密的散列,但用户可以为他们想要的任何 id 或 apiKey 创建一个散列,并在文件中更改它。代码将被混淆,但我想我会问是否有更好的方法。

我不希望我提供给用户的程序能够 运行 不同的 apiKey 或 id,只有我在程序中定义的那些,他们不应该能够更改它。

提前致谢。

假设您的 node.js 文件在您的服务器上 运行 并且您正在验证来自客户端的请求,那么您应该查看 passport.js 或其他验证库。凭据不应以明文形式传递给服务器,但即使您的客户端更改了凭据,也不意味着它们将在服务器上获得身份验证,因为服务器使用注册用户的数据库进行身份验证。您的示例表明您正在寻找 "bearer token" 身份验证 (apiKey),因此这是 passportjs.org 网站上 passport-http-bearer 文档的 link。