我正在开发一个社交网站。这项服务将可用于各种媒体,例如:网络,iPhone,Facebook应用程序等。OAuth对我的网站API是否可行?
我对这个应用程序的想法是让所有这些属性与一个中心点进行交互以获取和保存数据:一个API 。然后,我的各种应用程序将与此API交互,发送一个GET
请求来获取一些数据;一个POST
请求提交一些数据; DELETE
请求等。
此API将可以通过网络访问,所以我需要一种方法来验证仅列入白名单的应用程序。此API永远不可用于第三方与第三方应用程序交互或构建第三方应用程序;这只是为了方便我的应用程序,所以我可以削减跨平台的重新编码解决方案,并只关注逻辑(控制器,本质上)。
因此,OAuth是否适合用作上述场景的身份验证方法?
我对OAuth的了解并不多,但如果它被认为是一种可行的解决方案,那么在实施之前,我显然会阅读它。但据我所知,它对令牌有效。消费者(例如我的网站)会从应用程序(此例中为API)请求令牌,然后应用程序将返回令牌以用于随后的请求。或者其他的东西。
当请求进入我的应用程序时,我能接受/拒绝基于请求应用程序的请求吗?即我可否拒绝访问不属于我自己的应用程序?我如何区分应用程序?我是否保留一个IP地址或URL的白名单,并根据传入的请求进行比较?
对上述任何帮助将不胜感激。
您是否考虑过实施消息认证码(MAC)?这就是我现在看到的大多数API(包括我的)所使用的。通过适当的实施,您可以接受/拒绝基于请求应用程序的请求,保留请求信息等。 – netcoder 2010-11-16 13:59:49