我正在使用Symfony2
构建RESTful API应用程序。
该应用程序将由两部分组成。
JavaScript前端 - 用户将能够看到和做的所有内容都将驻留在此处。
Symfony2后端API - 用户将能够从前端访问的每个资源和数据都将通过端点以标准JSON提供。
我之前从未构建过完全RESTful的应用程序。我主要关心的是如何验证用户。
我想像这样的REST身份验证:
用户以前端生成的形式输入其凭证,然后将请求发送到发生身份验证逻辑的服务器,如果用户通过身份验证,则将带有“令牌”的响应发送回用户,即将该令牌添加到每个请求URL或授权标头(我不知道哪个选项更合适)。
然后,对于每个请求,服务器将检查用户令牌是否有效以及用户是否有权访问该数据(角色),如果是,则为请求数据提供服务。 (我不想让用户使用谷歌,Facebook或类似的东西登录。我希望我的用户使用我的应用登录其他应用程序)
现在这看起来很简单,但是后来OAuth2
让我感到困惑,因为我没有研究就跳进了开发阶段。我下载了FOSOAuthServerBundle
,当我开始感觉到某些事情不对时,我开始搞乱。
我想知道的是RESTful身份验证和OAuth之间的区别。
有关实施所述登录机制的建议是什么?
答案 0 :(得分:0)
你已经明白了。您仅将OAuth用于身份验证,并且以下所有请求都必须提供HTTP-Authorization
标头。您需要创建custom authentication provider来处理它。还可以使用FOSRestBundle之类的东西来创建资源。