【问题标题】:Backend: Authenticate webapp后端:验证 webapp
【发布时间】:2022-12-10 14:24:54
【问题描述】:

我有一个后端(使用 Spring Boot 开发),它提供了一些 REST 端点。现在我想通过自己的网络应用程序(使用 React 开发)来使用它们。在 webapp 中,用户不需要登录,因此不提供用户凭据。确保只有我的网络应用程序使用 API 的正确方法是什么?

【问题讨论】:

  • 这不是一个需要解决的小问题。问题在于,任何可以看到 Web UI 的人也可以通过 BE 观察流量,并且如果有足够的动机,可以破译大多数隐藏 Web 应用程序正在使用的身份验证凭据的尝试。我的意思不是说这无法解决,而是简单、幼稚的解决方案很容易被击败,所以要小心。

标签: java spring rest security web-applications


【解决方案1】:

您的 Web 应用程序可以使用唯一的 API 密钥作为参数向 API 发出请求,API 可以验证密钥以确保它有权访问端点。这样,只有使用有效 API 密钥发出的请求才被允许访问端点。此外,您可以对可以使用给定 API 密钥发出的请求数量设置速率限制,以防止过度使用。

【讨论】:

  • 作为一名黑客,我使用 API 检查 Web 应用程序和/或其流量。通过这样做,我获得了 API 密钥,然后使用它自行查询 API。然后我绕过了/击败了这种形式的身份验证。
猜你喜欢
  • 2011-12-25
  • 2017-01-22
  • 1970-01-01
  • 2017-07-04
  • 1970-01-01
  • 2017-03-04
  • 1970-01-01
  • 2017-02-17
  • 1970-01-01
相关资源
最近更新 更多