node.js - 如何验证 Node API 的请求者
问题描述
我有一个 Cloudflare Worker,它提供一个注册表单,接受来自用户的输入,然后将其发送回 Worker,然后将其发送到其他地方的 Node HTTP API(如果重要,则为 DigitalOcean),该 API 将数据插入 MongoDB(尽管它可以是任何数据库)。我控制 CF-Worker 和 API 中的代码。
我正在寻找确保这一点的最佳方法。我目前正在考虑在 API 调用请求标头中包含一个预共享的密钥,并且我已经锁定了这个特定的 API 可以对数据库访问控制做什么。我是否有其他方法可以确认只有 CF Webworker 可以调用 API?
如果这对某些人来说很明显,我道歉。我一直认为,除非你真的很擅长安全,否则最好咨询那些擅长安全的人。
解决方案
您可以研究 OAuth2.0 标准。这是第三方客户的授权标准。这是链接:https ://oauth.net/2/
这个解决方案是最专业的。还有其他不太安全的方法可以做到这一点,但更容易实现。密码和用户名、x-api-key 等。
在我看来,您还可以阻止所有 IP 并仅允许来自该特定域名的请求(CF Worker)
推荐阅读
- mern - NodeJS jwtStrategy 需要一个函数来从 MERN 中的请求错误中检索 jwt
- loops - 在链表制作的图中添加边
- r - 使用 R 在数据框中创建新列
- javascript - android - 打开网页并单击元素不起作用
- c# - 导航 url 时如何捕获事件
- scala - 如何将文件夹名称添加到spark中的每一行
- javascript - 如何使用PHP获取另一个被javascript修改的页面的元素内容
- javascript - 让 D3 Force 以更新模式工作
- php - html 验证错误 wp_json_encode
- facebook - Facebook API V3 - 为测试用户创建 Facebook 页面