rest - 使用 token 是否违反 REST 原则

标签 rest

使用 token 进行身份验证是否违反了应该是无状态的 REST 原则。

我有一个需要 REST 的应用程序,我在数据库中存储了一些 token 。每次用户想要执行操作时,他们都应该获得一个 token (通过发送用户名和密码)并在每次请求时将其发送到服务器。

最佳答案

不,他们不。

身份验证 header 之类的一个关键方面是它与请求本身正交。它是请求的一个属性,与 Content-Type header 的方式相同。

只要提交 header 的请求结果一致,后端如何实现身份验证与讨论无关。验证身份验证 header 的过程本身没有理由不能成为无状态过程。

身份验证的存在和内容肯定会影响客户端从请求中接收到的内容,从 403 未经授权的响应到有限数量的内容,具体取决于客户端是否可能使用“管理员” token 或使用“管理员” token 。非特权用户。

它也与表示 session 状态(非 RESTful)的 Cookie 形成对比。这是因为这两个 header 服务于不同的目的并提供不同的应用程序语义。

关于rest - 使用 token 是否违反 REST 原则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47635776/

相关文章:

c# - ASP.NET Web API 获取子列表(分层资源)

java - 如何在没有 xml 的 Spring MVC 中启用 REST gzip 压缩?

javascript - 如何使用 MS Dynamics CRM REST 端点更新或删除现有电话/电子邮件记录的发件人和收件人

rest - WebApi 和 OData

java - Spring 使用 JSONObject 字段反序列化对象

android - 具有字段更改的 REST Api JSON 响应

java - Jersey 客户端策略在登录后测试主页

java - 在 Camel 上使用 Springboot 的 Rest DSL 在重新启动 EAP 后创建路由抛出异常

java - 读取托管非常大数据的 REST api 响应

http - 如何使用 "POST to PUT redirect"建模 REST API?