0

我已经建立了一个基于 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/

4

1 回答 1

2

这完全取决于您的要求。

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

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

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

你想实现无状态认证吗?然后我会推荐使用新的 JSON Web Token (JWT) 规范。

请参阅Symfony Bundle (LexikJWTAuthenticationBundle)JWT 描述 (JWT.io)

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

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

于 2015-06-14T10:59:08.547 回答