gpt4 book ai didi

javascript - 第 3 方 API 服务 - Web 安全和 AJAX

转载 作者:行者123 更新时间:2023-12-02 16:38:54 27 4
gpt4 key购买 nike

我正在尝试创建一个 Web 应用程序,其中包含一个从 Twitter 检索第三方数据的组件。假设我已在 Twitter 上注册了我的应用程序并拥有 token :

  1. 是在我的服务器端代码上存储我的 token 的首选位置(我使用 Node/Express 作为我的后端)吗?另一种方法是将其存储在我的客户端代码中,但这似乎非常危险,因为每个人都可以检查我的代码。

  2. 假设我确实将 token 存储在服务器端,这是否意味着如果我想对第 3 方 API(即 Twitter)进行 AJAX 调用,请求流将是从客户端到服务器,然后服务器到第 3 方 Web 服务?

  3. 如果上述情况准确,那么我的服务器端代码是否必须包含一些异步回调/ promise 逻辑,以便一旦第 3 方 Web 服务准备好数据,服务器将执行我的回调以发送数据返回客户端?

最佳答案

此答案假设您正在使用 Twitter 的“仅应用程序身份验证”代表应用程序本身发出 API 请求 ( https://dev.twitter.com/oauth/application-only )。

  1. 您的服务器端代码是存储您不希望公开的任何 API key 的首选位置。 Twitter 的开发人员指南指出“这些值应被视为与密码一样敏感,不得共享或分发给不受信任的各方。”

  2. 是的,使用 Twitter 的“仅应用程序身份验证”等身份验证模型需要通过服务器端代码代理所有第三方 API 请求,以保护 API token 。对于任何需要在每个请求中传递简单的静态 API key 的第三方 API 来说也是如此。

  3. 尽管在技术上可能没有必要,但在发出第三方 API 请求时,最好在服务器端使用异步操作。这将为您提供更强大的架构来处理互联网请求的不稳定性,这是一个好处。

如果您打算代表网站访问者阅读或发布 Twitter 数据,请务必详细了解获取用于 Twitter 的访问 token 的其他方法:https://dev.twitter.com/oauth/overview 。例如,“三足授权”方法更适合这种情况,因为它为最终用户提供了一种安全的方式来提供其 Twitter 凭据并授权请求应用程序使用其数据。

关于javascript - 第 3 方 API 服务 - Web 安全和 AJAX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27681445/

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