我可以为我的Web API使用基于会话的身份验证吗?

时间:2010-08-13 11:03:41

标签: iphone web-services api authentication oauth

我正在为我的应用程序实现一个Web服务器API,我陷入了弄清楚我应该使用哪种身份验证方法来验证用户(以及其他客户端应用程序)的请求的过程中。我认为我并不真正了解OAuth和其他身份验证协议的用途。

我希望在没有网络浏览器干预的情况下执行身份验证,完全来自我的iPhone应用程序或其他自定义第三方客户端。基于会话的身份验证是一种很好的方式吗? (例如)Facebook iPhone客户端如何使用Web API进行身份验证?我不认为它使用OAuth或类似的东西,因为从不显示触摸登录/授权表单。据我所知,OAuth仅用于第三方应用。但为什么会这样呢? iPhone客户端难道也不能被视为第三方应用程序吗?

如果我的问题模糊不清,我很抱歉,请指出我缺少的细节等等。谢谢。

1 个答案:

答案 0 :(得分:3)

OAuth中的“Auth”与身份验证无关,但与授权无关。这意味着,如果您是服务提供商,则可以支持OAuth,以允许用户在用户需要时为任何OAuth友好的消费者授予对各个资源的访问权限。 OAuth拥有自己的安全架构来保护验证,授权和授权的整个过程......然后,身份验证是进一步请求的必要步骤。

你是对的。 Facebook iPhone虽然可以,但不会使用OAuth进行身份验证。您可以验证它here。而且我认为因为它是Facebook本身的应用程序,当您正是网站所有者时,添加另一层安全性很麻烦。

如果您不打算支持其他第三方客户端访问您的用户资源,那么基于cookie的身份验证是可以的。否则,你可能想要提供OAuth,我认为值得实施,因为,谁知道,YGNI,将来。