我是否需要为SPA保护仅支持GET的REST API
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我是否需要为SPA保护仅支持GET的REST API相关的知识,希望对你有一定的参考价值。
我有一个javascript SPA,它使用了使用Django(Django Rest Framework)构建的后端REST API。这是一个小型的学术项目,可能会定期吸引几百名用户。我们的初步设计假设用户可能希望保存数据,但最近与潜在客户的咨询使我们怀疑是否需要合并此功能。因此,这将完全消除对后端API的POST请求的任何需求,只留下GET。这些GET(通过axios)仅包含路径参数,没有查询参数,并返回小JSON有效负载,用于在应用程序中呈现SVG组件(此数据是只读的静态数据,已存储在后端数据库中)。
假设需要满足用户上传需求,我们还添加了用户登录/注销和帐户管理功能。我们甚至开始考虑整合Auth0。但是,如果我们完全删除用户上传,我们甚至需要以这种方式保护我们的API端点吗?
根据OP中给出的内容,答案是,不,您不需要身份验证。
无论使用何种HTTP动词,只要问问自己,无论您通过REST apis公开的功能是什么,至少,您是否关心如何使用您的API做什么?如果不是你不需要身份验证
基本上,
- 您想限制对任何API的访问吗?
- 你想把动作绑定到任何角色吗?
- 你想审计,(谁做了什么时候)?
如果回答所有这3个是否定的,则不需要身份验证。
以上是关于我是否需要为SPA保护仅支持GET的REST API的主要内容,如果未能解决你的问题,请参考以下文章
使用 OAuth 访问 SPA 和 REST API 时,应该在哪里为 RBAC 存储用户组成员身份
保护对 Kafka Connect 的 REST API 的访问
如何使用邮递员测试 Django REST 框架登录保护 API?
我应该将 id 令牌从我的 SPA 发送到我的 rest 后端吗?
仅使用 Spring Security 自定义令牌无状态保护 REST 控制器,同时保持常规状态完整 Web 登录正常工作