2010-08-13 83 views
3

我正在为我的应用程序实现一个Web服务器API,并且在确定应该使用什么身份验证方法来验证用户(以及其他客户端应用程序)的请求时陷入了困境。我认为我并不真正了解OAuth和其他身份验证协议的作用。我可以为我的Web API使用基于会话的身份验证吗?

我想要在没有Web浏览器干预的情况下执行身份验证,完全从我的iPhone应用程序或另一个自定义第三方客户端进行身份验证。基于会话的身份验证是否是到此为止的好方法? (例如)Facebook iPhone客户端如何使用Web API进行身份验证?我不认为它使用OAuth或类似的东西,因为从不显示触摸登录/授权表单。据我所知,OAuth仅用于第三方应用程序。但为什么这样呢? iPhone客户端不能被认为是第三方应用吗?

对不起,如果我的问题含糊不清,请指出我缺少的细节等。谢谢。

回答

3

OAuth中的“Auth”与认证无关,但与授权有关。这意味着如果您是服务提供商,则可以支持OAuth,以允许用户根据用户需要授权访问任何适用于OAuth的消费者的个人资源。 OAuth拥有自己的安全体系结构来确保验证,授予和授权的整个过程...然后,对于任何进一步的请求,身份验证是一个重要步骤。

你说得对。 Facebook iPhone虽然可以,但并未使用OAuth进行身份验证。你可以验证它here。我认为,因为它是Facebook本身的应用程序,当您完全是网站所有者时,添加另一层安全性非常麻烦。

因此,如果您不打算支持其他第三方客户端访问您的用户资源,那么基于cookie的身份验证就没有问题。否则,您可能希望提供OAuth,并且我认为这是值得实施的,因为,谁知道YGNI将来。

+0

谢谢先生,你的回答非常丰富! :)如果将来需要第三方应用程序,我将在未来实施OAuth。目前我将使用基于cookie的身份验证。 – eugeniodepalo 2010-08-15 20:30:29

相关问题