将敏感信息发送到REST服务
我们目前有一个基于SOAP的Web服务,我们内部的应用程序用它来验证用户。 基本上,他们发送一个带有用户名和密码的SOAP请求。 Web服务根据我们的数据存储对其凭据进行身份验证,并在身份验证成功时返回用户信息。 Web服务使用BASIC身份验证和SSL进行保护。
我们需要对此Web服务进行修改,并且正在考虑将其重新编写为REST服务。 过去我创建的REST服务相当简单,并且不需要安全性。 我从未创建过使用敏感信息的REST服务,因此我有几个问题/疑虑:
首先,是否有安全地将敏感查询参数(用户凭据)发送到REST服务的最佳做法? 我仍然可以使用BASIC身份验证和SSL。
其次,如果我使用POST向REST服务发送查询,是否仍将它视为RESTful,或者对于REST查询是否需要GET?
您也可以使用SSL和基本身份验证与REST Web服务。
HTTP GET通常用于数据检索(查询),但您也可以使用HTTP POST。 如果您可以使用任何类型的HTTP缓存,GET特别有用。 如果您需要传输大量数据来定义查询,或者您的Web服务操作期望使用一些复杂的数据格式而不是简单的参数,则POST是有用的。
与通过REST进行身份验证相比,您可能还会考虑将网络身份验证协议与Web服务结合使用。 像Kerberos和OAuth这样的技术是为这类用例而设计的。
但要回答你的问题,
REST鼓励您利用HTTP和相关协议,因此使用SSL和BASIC身份验证非常合适。
REST鼓励不仅使用GET和POST,还使用其他HTTP“动词”,例如PUT和DELETE。 使用GET仅适用于幂等操作,无副作用。
就安全性而言,从SOAP到REST正在向后退步。
就最佳实践而言:
为什么REST安全性不存在
链接地址: http://www.djcxy.com/p/71351.html上一篇: Sending sensitive information to REST service
下一篇: RS access control