加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

表单 – 为什么基于表单的身份验证不被认为是RESTful的?

发布时间:2020-12-14 22:25:11 所属栏目:资源 来源:网络整理
导读:虽然我“认为”我明白了,我需要一些清晰度。使用PURE Restful身份验证,事情确实有点笨拙,使用表单可以帮助应用程序的UI(即获得单独的登录页面,忘记密码链接,更轻松的注销等) 现在形式来了,有些人说“不安宁” – 对他们来说是什么“不安宁”?是不是没
虽然我“认为”我明白了,我需要一些清晰度。使用PURE Restful身份验证,事情确实有点笨拙,使用表单可以帮助应用程序的UI(即获得单独的登录页面,忘记密码链接,更轻松的注销等)

现在形式来了,有些人说“不安宁” – 对他们来说是什么“不安宁”?是不是没有相应的登录资源呢?还是强迫我失踪的其他东西?

注意:如果他们与他们建立会话,这是一个不同的事情。我更喜欢知道“为什么”他们的品牌是宁静的?只是谷歌搜索“基于表单的身份验证vs安全的身份验证”引起了不少命中。

可以使用这些“表单”来认证和传递令牌,以便应用程序存储在cookies等中,我觉得这是完全平静的(假设加密安全性等)…

解决方法

发送您的凭据(可能是通过表单)进行身份验证没有任何问题。问题是大多数基于表单的系统依赖于会话,因此要求您只登录“一次”。

会话是服务器状态,因此违反了REST架构的无状态约束。

如果您必须每次发送凭据,您都可以将其包含在有效负载中(即使用表单),也可以使用HTTP授权头。

如果将它们包含在有效载荷中,则可以将它们包含在正文中,但只能用于POST或PUT,而不是GET或DELETE(因为它们没有主体)。

如果将它们作为查询参数的一部分包含在URL中,那么URL不再一定代表实际的资源。其他原则之一是URL与资源匹配。在查询参数混合之外添加带外信息(如凭据),限制一点。

因此,对于通过HTTP的REST系统,您最好使用现有的HTTP授权机制,而不是制定其他功能。您也可以使用客户端特定的SSL证书,也可以正常工作。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读