REST API:保持默认的Symfony PHPSESSID身份验证器在浏览器

时间:2016-12-25 18:21:31

标签: php rest symfony authentication web-frontend

我为智能手机应用开发了一个REST API。使用标头中给出的标记进行身份验证。我创建了一个身份验证器(继承了AbstractGuardAuthenticator),将它添加到我的security.yml中的警卫列表中,一切正常。

现在,我开发了一个Web界面,以便用户可以直接在浏览器中重现他/她可以从他/她的智能手机上执行的一些操作。我打算做简单的AJAX请求。我的问题是关于身份验证。

在网站上,用户可以使用Symfony或facebook提供的默认用户名/密码表单进行身份验证(感谢HWIOAuthBundle)。在这两种情况下,身份验证都依赖于PHPSESSID cookie和用于对用户进行身份验证的令牌。

我的问题是:如何配置我的应用,以便我的自定义令牌保护或默认的symfony / HWIOauthBundle身份验证器根据请求控制对API的访问?

我知道" cookie方式"这不是一个RESTful练习,但我不明白为什么在这种情况下它会是一件坏事 - 它似乎是最自然的"并且简单易行。

更新2016-12-29 :我删除了 security.yml 中的API防火墙部分,我现在只有一个部分。在本节中,我有3个"听众":form_login,oauth(对于facebook)和我的警卫。它以这种方式工作正常。我可能会看到的唯一问题是,之前仅受到form_login / oauth保护的网站部分现在也可以通过满足我的后卫来访问,即。在标头中添加有效标记。我不知道会出现什么问题,但看起来并不严谨。有没有人对此有所了解?

0 个答案:

没有答案