Symfony Restful API身份验证和OAuth2

时间:2015-04-01 19:16:22

标签: rest symfony oauth-2.0

我正在使用Symfony2构建RESTful API应用程序。 该应用程序将由两部分组成。

  1. JavaScript前端 - 用户将能够看到和做的所有内容都将驻留在此处。

  2. Symfony2后端API - 用户将能够从前端访问的每个资源和数据都将通过端点以标准JSON提供。

  3. 我之前从未构建过完全RESTful的应用程序。我主要关心的是如何验证用户。

    我想像这样的REST身份验证:

    用户以前端生成的形式输入其凭证,然后将请求发送到发生身份验证逻辑的服务器,如果用户通过身份验证,则将带有“令牌”的响应发送回用户,即将该令牌添加到每个请求URL或授权标头(我不知道哪个选项更合适)。

    然后,对于每个请求,服务器将检查用户令牌是否有效以及用户是否有权访问该数据(角色),如果是,则为请求数据提供服务。 (我不想让用户使用谷歌,Facebook或类似的东西登录。我希望我的用户使用我的应用登录其他应用程序)

    现在这看起来很简单,但是后来OAuth2让我感到困惑,因为我没有研究就跳进了开发阶段。我下载了FOSOAuthServerBundle,当我开始感觉到某些事情不对时,我开始搞乱。

    我想知道的是RESTful身份验证和OAuth之间的区别。

    有关实施所述登录机制的建议是什么?

1 个答案:

答案 0 :(得分:0)

你已经明白了。您仅将OAuth用于身份验证,并且以下所有请求都必须提供HTTP-Authorization标头。您需要创建custom authentication provider来处理它。还可以使用FOSRestBundle之类的东西来创建资源。