我需要提供商中的安全Restfull服务。 我希望用户必须具有使用REST服务的授权,并且如果不是注册开发人员,我可以生成use stadistic或只是不允许调用REST服务。

我一直在考虑用户在URL(http://autor.derf.com/api/search/email?=dsdfd@gmail.com&passwd=dasffsdf;)中发送电子邮件和密码,但这并不是很安全。

另外,我已经阅读了有关oauth 2.0的信息,但该文档对于Java来说非常糟糕。

还有其他方法可以拥有具有授权的RESTful API吗?

我想通过Iphone,Android,Windows Phone和Web访问Restfull API

提前致谢 ;)

===============>>#1 票数:1 已采纳

如果您打算自己编写服务的所有客户端(iPhone,Android等),则只要提供者通过安全的传输层(例如SSL / HTTPS)进行通信,发送电子邮件和密码是不错的选择。

如果您感觉要公开API,则可以随时添加对OAuth 1或2的支持。 (使用OAUth的整个想法是保护用户的密码,并获得对客户端可以使用的API以及使用多长时间的更细粒度的控制)。

但是,在您的情况下,我至少会考虑使用基本身份验证,其中典型的HTTP请求看起来像这样:

GET /path/to/api HTTP/1.1
Host: www.example.com
Authorization: Basic aHR0cHdhdGNoOmY=

“ Basic”之后的哈希只是简单的base64编码的"username:password" ,或者在您的情况下为"email:password" 如果有人拦截了它,则很容易简单地取消编码以获得纯文本用户凭据。 因此,HTTPS是必须的。

» 有关Wikipedia上基本身份验证的更多信息

  ask by Rom translate from so

未解决问题?本站智能推荐: