我已经建立了一个基于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/
答案 0 :(得分:2)
这完全取决于您的要求。
首先,OAuth 2是一种身份验证机制/规范,您可以将其与会话/承载令牌/ ...结合使用。这也适用于本地帐户(因为您要进行用户注册)。
FOSAuthServerBundle是用于实现OAuth2规范的服务器端的捆绑包。这基本上意味着您可以将API的OAuth2方面公开给其他应用程序,并允许他们使用您的帐户进行身份验证。想想谷歌登录,推特登录等,但对于你自己的应用程序。
这与您在初次登录后验证/授权请求的方式无关。
您想实施无状态身份验证吗?然后我建议使用新的JSON Web令牌(JWT)规范。
请参阅Symfony Bundle (LexikJWTAuthenticationBundle)和JWT description (JWT.io)
从角度方面来看,它有很多资源,API部分非常简单。
WSSE似乎不适合在RESTful API中实现,我没有使用/实现它的经验,所以我不能过多评论它。