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

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

概述虽然我“认为”我明白了,我需要一些清晰度。使用PURE Restful身份验证,事情确实有点笨拙,使用表单可以帮助应用程序的UI(即获得单独的登录页面,忘记密码链接,更轻松的注销等) 现在形式来了,有些人说“不安宁” – 对他们来说是什么“不安宁”?是不是没有相应的登录资源呢?还是强迫我失踪的其他东西? 注意:如果他们与他们建立会话,这是一个不同的事情。我更喜欢知道“为什么”他们的品牌是宁静的?只 虽然我“认为”我明白了,我需要一些清晰度。使用PURE Restful身份验证,事情确实有点笨拙,使用表单可以帮助应用程序的UI(即获得单独的登录页面,忘记密码链接,更轻松的注销等)

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

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

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

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

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

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

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

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

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

总结

以上是内存溢出为你收集整理的表单 – 为什么基于表单的身份验证不被认为是RESTful的?全部内容,希望文章能够帮你解决表单 – 为什么基于表单的身份验证不被认为是RESTful的?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1116454.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存