gpt4 book ai didi

javascript - 将客户端的API Secret保存在浏览器中,通过JS访问

转载 作者:行者123 更新时间:2023-11-30 05:31:30 26 4
gpt4 key购买 nike

我们有服务器端授权,要求对服务器的每个请求都使用 key 签名。当服务器<->服务器完成通信时,它可以很好地用于 API 目的。

在客户端<->服务器上我们使用短信授权。

SMS 不是很可靠,速度不够快,而且我们要花很多钱。

基本思想:我们允许用户将他的 secret API key 存储在浏览器的本地存储中。它保存在那里用他的 secret 密码编码(我们不知道)。当用户想要打开安全 session 时,JS 会提示他输入他的 secret 密码。 JS 从本地存储中获取他的 secret API key ,使用该密码对其进行解码并用于签署验证请求。在服务器端,我们知道 secret ,如果验证请求使用正确的 key 签名,我们将打开安全 session 。

这样用户实际上授权特定机器上的特定浏览器打开安全 session (使用额外的 secret 密码)。

问题:将编码的 secret API key 保存在浏览器的本地存储中有多安全?用JS用客户端密码解码安全吗?

最佳答案

Two-factor authentication provides unambiguous identification of users by means of the combination of two different components.

您的解决方案与双因素身份验证无关。因为当用户名/密码被盗时,有两个因素可以保护您的客户。例如,您的客户的一台计算机被恶意软件感染,并且该恶意软件具有嗅探键盘操作的能力(几乎所有恶意软件都具有此功能)。在您的解决方案中,即使您一次又一次地询问密码,任何人都可以轻松登录。

使用手机作为第二因素身份验证与我上面描述的场景不符。

即使您有机会对其进行加密,也将敏感信息存储在客户端始终是个坏主意。 (更多信息:https://www.owasp.org/index.php/HTML5_Security_Cheat_Sheet)另一件事是您的加密算法开发没有任何问题。

我建议您使用 Google 身份验证器而无需支付一分钱。我想几乎所有的客户都有智能手机,他们可以轻松地使用谷歌验证器应用程序,这有两个因素。

关于javascript - 将客户端的API Secret保存在浏览器中,通过JS访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26682698/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com