保护角度前沿消耗的Symfony RESTful API?

时间:2015-06-14 02:11:07

标签: angularjs api symfony oauth wsse

我已经建立了一个基于Symfony的API,Angular前端正在使用它完全依赖它(包括用户注册)

我已阅读多个推荐使用WSSE或FOSOAuthServerBundle的主题,但我不确定最佳方法?

如果我理解正确,WSSE必须为每个API请求发送x-wsse标头,这使我认为它不是最适合性能的。

关于FOSAuthServerBundle我从来没有使用它,与WSSE相比看起来有点复杂,因此这就是为什么我在尝试实现它之前会问它。

我有2个简单的用户组(基本和管理员),这是保护我的API的最佳方法,另外提供了一种保持用户持久性的简单方法(我的意思是通过不同的页面访问)?

如何在Angular前端?

感谢您的帮助。

参考:http://blog.tankist.de/blog/2013/07/16/oauth2-explained-part-1-principles-and-terminology/

http://obtao.com/blog/2013/06/configure-wsse-on-symfony-with-fosrestbundle/

1 个答案:

答案 0 :(得分:2)

这完全取决于您的要求。

首先,OAuth 2是一种身份验证机制/规范,您可以将其与会话/承载令牌/ ...结合使用。这也适用于本地帐户(因为您要进行用户注册)。

FOSAuthServerBundle是用于实现OAuth2规范的服务器端的捆绑包。这基本上意味着您可以将API的OAuth2方面公开给其他应用程序,并允许他们使用您的帐户进行身份验证。想想谷歌登录,推特登录等,但对于你自己的应用程序。

这与您在初次登录后验证/授权请求的方式无关。

您想实施无状态身份验证吗?然后我建议使用新的JSON Web令牌(JWT)规范。

请参阅Symfony Bundle (LexikJWTAuthenticationBundle)JWT description (JWT.io)

从角度方面来看,它有很多资源,API部分非常简单。

WSSE似乎不适合在RESTful API中实现,我没有使用/实现它的经验,所以我不能过多评论它。