我创建了一个RESTful服务器应用程序,它可以在有用的URL(例如www.site.com/get/someinfo)上提供服务请求.它是在Spring中构建的.
但是,这些访问受密码保护.我现在正在构建一个客户端应用程序,它将连接到此RESTful应用程序并通过URL请求数据.我如何通过凭证?目前,它只是向用户弹出用户/密码框,但我希望用户能够在客户端应用程序的框中键入用户名和密码,并让客户端应用程序在RESTful应用程序时提供凭据.它要求数据.客户端是使用Struts构建的.
干杯
编辑 - 我认为我的问题不够明确.我已经强制使用HTTPS了,我的问题更多,在代码中,当我从www.site.com/get/someinfo请求数据时,如何在提出请求的同时传递我的凭据?
你或多或少有3个选择:
HTTP身份验证
滚动您自己的协议,理想的HMAC挑战/响应为基础
OAuth的
OAuth目前容易受到网络钓鱼攻击的影响,这种攻击在很大程度上是目标无法检测到的.因此,在协议修改之前我不会推荐它.
OAuth也应该是关于设计安全协议有多困难的一个教训,因此我对于推荐自己的路线犹豫不决.
这留下了HTTP身份验证,如果您可以使用它,这可能是最好的.
总而言之,互联网上的几乎所有内容都使用基于表单的身份验证,而且许多人甚至不愿意使用https来保证传输级别的安全性,因此可能只是简单地发送明文中的密码文本就足够了.即使我仍然鼓励使用https,因为这至少可以减少中间人攻击中的危险.