我在GET请求中阅读了许多关于传递敏感数据的帖子,但未找到符合我需求的答案。
我必须公开一个RESTful资源来检查密码强度。
GET http://api.domain.com/security/password/P@55w0rd
我发现GET
HTTP动词合适,因为我只想知道密码是否足够安全。
问题是客户端将被强制在资源(即URL)中传递它。
有些同事告诉我使用POST
然后将其传递给数据体,但我不确定它是如何RESTful的。
答案 0 :(得分:0)
REST标准只是说使用HTTP Verbs。它并没有真正要求你使用特定的。然而,出现了一些关于使用POST创建&动词的动词的约定。 GET可以检索数据,但如果它会引起问题,应该虔诚地遵循这一点。
根据以下文章,您不应该使用GET作为密码,是的,您可以使用POST或传递HTTP标头中的内容。
会话管理 RESTful Web服务应该使用基于会话的身份验证,方法是通过POST建立会话令牌,或者使用API密钥作为POST正文参数或cookie。用户名,密码,会话令牌和API密钥不应出现在URL中,因为这可以在Web服务器日志中捕获,这使它们具有内在价值。