我正在开始一个新的Web项目,我打算将其基于API; 我想首先构建API,通过OAuth进行身份验证,然后构建一个网站以及可能使用API处理数据的移动应用程序.我也着眼于向公众开放API.
这是我的问题; 我正在努力探讨如何验证这些"官方"应用程序,包括主要网站在内的这些应用程序.
在OAuth中,客户端为每个用户创建一个帐户,然后通过在主站点登录的资源所有者来查找访问权限.这显然不适合我,因为主站点和客户端是相同的地方,它也意味着我的用户应该创建两个帐户只是为了使用我的网站...
我相信Twitter使用自己的API运行twitter.com,我觉得这种方法变得很正常,所以必须有一个标准的方法.
我一定错过了什么,但是什么?
您将API(业务逻辑)与用户身份的身份验证(例如登录)以及第三方应用程序(OAuth)的授权混淆.
twitter.com使用自己的API是正确的.但他们不在自己的网站上使用OAuth.当您在twitter.com上时,他们的API可通过cookie身份验证获得.简单地说:你已经登录了.
一旦你离开twitter.com,你必须使用OAuth.现在,应用程序正在代表用户使用API.
总结一下.您并不特别需要OAuth为您的"自己的"Web客户端使用您自己的API.您需要OAuth或其他授权机制来发布您的API,它也将为您自己的"官方"应用程序派上用场.
实际上没有必要将您自己的官方应用与第三方应用区分开来.无论如何,不是从技术角度来看.