首页 > 解决方案 > 我是否需要为 SPA 保护仅支持 GET 的 REST API

问题描述

我有一个 JavaScript SPA,它使用一个用 Django(Django Rest Framework)构建的后端 REST API。这是一个小型学术项目,可能只会定期吸引数百名用户。我们最初的设计假设用户可能希望保存数据,但最近与潜在客户的协商让我们质疑是否需要合并此功能。因此,这将完全消除对后端 API 的 POST 请求的任何需求,只留下 GET。这些 GET(通过 axios)仅包含路径参数,没有查询参数,并返回小的 JSON 有效负载,用于在应用程序中呈现 SVG 组件(此数据是只读的静态数据,已存储在后端数据库中)。

满足用户上传的假设需求导致我们还添加了用户登录/注销和帐户管理功能。我们甚至开始考虑集成 Auth0。但是,如果我们完全删除用户上传,我们甚至需要以这种方式保护我们的 API 端点吗?

标签: javascriptrestauthenticationauthorizationsingle-page-application

解决方案


根据 OP 中给出的答案,,您不需要身份验证。

不管使用什么 HTTP 动词,只要问问自己,无论您通过 REST API 公开什么功能,至少,您是否关心找出谁使用您的 API 做了什么?如果不是,您不需要身份验证

基本上,

  1. 您想限制对任何 API 的访问吗?
  2. 您想将动作与任何角色联系起来吗?
  3. 你想审计吗,(谁在什么时候做了什么)?

如果对这 3 个问题的回答均为“”,则不需要身份验证。


推荐阅读