REST:更正HTTP动词以检查密码

时间:2017-05-15 08:09:53

标签: rest restful-architecture

我在GET请求中阅读了许多关于传递敏感数据的帖子,但未找到符合我需求的答案。

我必须公开一个RESTful资源来检查密码强度。

GET http://api.domain.com/security/password/P@55w0rd

我发现GET HTTP动词合适,因为我只想知道密码是否足够安全。

问题是客户端将被强制在资源(即URL)中传递它。

有些同事告诉我使用POST然后将其传递给数据体,但我不确定它是如何RESTful的。

1 个答案:

答案 0 :(得分:0)

REST标准只是说使用HTTP Verbs。它并没有真正要求你使用特定的。然而,出现了一些关于使用POST创建&动词的动词的约定。 GET可以检索数据,但如果它会引起问题,应该虔诚地遵循这一点。

根据以下文章,您不应该使用GET作为密码,是的,您可以使用POST或传递HTTP标头中的内容。

REST Security Cheat Sheet

  

会话管理   RESTful Web服务应该使用基于会话的身份验证,方法是通过POST建立会话令牌,或者使用API​​密钥作为POST正文参数或cookie。用户名,密码,会话令牌和API密钥不应出现在URL中,因为这可以在Web服务器日志中捕获,这使它们具有内在价值。