gpt4 book ai didi

javascript - API 身份验证如何仅使用 javascript 上的公钥?

转载 作者:行者123 更新时间:2023-11-30 06:15:45 25 4
gpt4 key购买 nike

英语不是我的母语。我会尽力解释我自己。


我正在创建一个供客户端通过 Javascript 使用的 API。客户应该在他的网站上包含如下内容:

<script>
var my_api = {
public_key: "123456"
};
</script>
<script async src="https://api.example.com/v1/init.js"></script>

那么...我如何使用公钥来验证客户的网站?

我知道我可以获得引荐来源网址并将其与我数据库中的 key 进行比较,但是:

(a) 如果 referer 可能是伪造的,公钥就没有用了,因为它已经公开了

并且 (b) 如果 referer 不能被伪造,我为什么要使用公钥?引用者还不够吗?

如果有人知道 key ,我不能要求客户加密一些东西来验证他是否有正确的 key ......

我过去只用私钥和公钥(或只有私钥)创建过 API。

最后,我希望通过复制/粘贴几行 JS 代码将其全部安装在客户的网站上(这就是为什么我只想使用公钥)。

我知道这是可能的,因为这就是 Google Ads 的运作方式,我只是需要帮助来找出方法。


注意:我在论坛上搜索了其他主题,但找不到任何答案,只有与 SSH 和 nodeJS 相关的内容。我正在使用 PHP 和纯 JS 开发一个简单的 API。

最佳答案

将 api key 放在他们的网站上可能会遇到的问题是任何人都可以查看和使用它。在他们用来托管站点的系统上使用 Process 环境变量。您可以使用此资源获取信息:https://hackernoon.com/how-to-use-environment-variables-keep-your-secret-keys-safe-secure-8b1a7877d69c

关于javascript - API 身份验证如何仅使用 javascript 上的公钥?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56298281/

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