首页 > 解决方案 > 如何验证 Node API 的请求者

问题描述

我有一个 Cloudflare Worker,它提供一个注册表单,接受来自用户的输入,然后将其发送回 Worker,然后将其发送到其他地方的 Node HTTP API(如果重要,则为 DigitalOcean),该 API 将数据插入 MongoDB(尽管它可以是任何数据库)。我控制 CF-Worker 和 API 中的代码。

我正在寻找确保这一点的最佳方法。我目前正在考虑在 API 调用请求标头中包含一个预共享的密钥,并且我已经锁定了这个特定的 API 可以对数据库访问控制做什么。我是否有其他方法可以确认只有 CF Webworker 可以调用 API?

如果这对某些人来说很明显,我道歉。我一直认为,除非你真的很擅长安全,否则最好咨询那些擅长安全的人。

标签: node.jssecuritycloudflare-workers

解决方案


您可以研究 OAuth2.0 标准。这是第三方客户的授权标准。这是链接:https ://oauth.net/2/

这个解决方案是最专业的。还有其他不太安全的方法可以做到这一点,但更容易实现。密码和用户名、x-api-key 等。

在我看来,您还可以阻止所有 IP 并仅允许来自该特定域名的请求(CF Worker)


推荐阅读