我创建了一个 RESTful 服务器应用程序,它可以在有用的 URL(例如 www.site.com/get/someinfo)上处理请求并提供服务。它是在春天建造的。
但是,这些访问受密码保护。我现在正在构建一个客户端应用程序,它将连接到这个 RESTful 应用程序并通过 URL 请求数据。我怎样才能传递凭据?目前,它只是向用户弹出用户/密码框,但我希望用户能够在客户端应用程序上的框中输入用户名和密码,并让客户端应用程序在以下情况下向 RESTful 应用程序提供凭据:它请求数据。客户端是使用Struts 构建的。
Cheers
编辑-我认为我把问题说得不够清楚。我已经强制使用 HTTPS,我的问题更多的是,在代码中,当我从 www.site.com/get/someinfo 请求数据时,如何在发出请求的同时传递我的凭据?
你或多或少有3个选择:
- HTTP 认证 http://en.wikipedia.org/wiki/Basic_access_authentication
- 理想情况下,推出您自己的协议HMAC http://en.wikipedia.org/wiki/Hmac基于挑战/响应
- OAuth http://oauth.net/
OAuth 目前容易受到网络钓鱼攻击的一种变体的影响,这种攻击在很大程度上是目标无法检测到的。因此,在协议修改之前我不会推荐它。
OAuth 也应该是一个关于设计安全协议有多么困难的教训,因此我不太愿意推荐您自己的路线。
剩下的就是 HTTP 身份验证,如果您可以使用它,这可能是最好的。
话虽如此,互联网上的几乎所有内容都使用基于表单的身份验证,许多人甚至不使用 https 来实现传输级安全,因此也许简单地以明文形式发送密码文本就足以满足您的目的。即使如此,我仍然鼓励使用 https,因为这至少减少了中间人攻击的危险。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)