代码之家  ›  专栏  ›  技术社区  ›  Martin Bean

OAuth对我网站的API是否可行?

  •  1
  • Martin Bean  · 技术社区  · 14 年前

    我正在开发一个社交网站。这项服务将在各种媒体上提供,例如:网络、iPhone、Facebook应用程序等。

    我对这个应用程序的想法是让所有这些属性与一个获取和保存数据的中心点交互:一个API。然后,我的各种应用程序将与这个API交互,发送 GET 请求获取一些数据;请求 POST 要求提交一些数据; DELETE 请求等等。

    这个API是可以通过web访问的,所以我需要一种仅对白名单应用程序进行身份验证的方法。这个API永远不允许第三方与第三方应用程序交互或构建第三方应用程序;它只是为了方便我的应用程序,这样我就可以跨各种平台裁剪出重新编码的解决方案,并且只关注逻辑(基本上是控制器)。

    因此,OAuth是否适合用作上述场景的身份验证方法?

    我对OAuth的了解并不多,但如果它被认为是一个可行的解决方案,那么在实现之前,我显然会仔细阅读它。但据我所知,它对代币有效。使用者(例如,我的网站)将从应用程序(本例中的API)请求令牌,然后应用程序将返回令牌以用于后续请求。或者别的什么。

    当请求进入我的应用程序时,我是否能够根据请求的应用程序接受/拒绝请求?一、 我可以拒绝访问不是我自己的应用程序吗?如何区分应用程序?我是否保留IP地址或URL的白名单,并在收到请求时进行比较?

    如有上述任何帮助,将不胜感激。

    2 回复  |  直到 14 年前
        1
  •  1
  •   Jean-Bernard Jansen    14 年前

    OAuth不是按照您希望的方式设计来验证某些应用程序的。

    只需创建自己的私有身份验证方法,因为只有您知道自己的API。别忘了用SSL进行身份验证,一切都会好起来的!

        2
  •  1
  •   Ivan    14 年前

    我不认为OAuth是解决你问题的最好办法。当您计划将API提供给第三方时,OAuth非常棒,因为它允许在不向第三方提供用户凭据的情况下对用户进行身份验证。如果您对API拥有全部控制权,就不需要这样做。 你读一下还是个好主意。:)