Symfony 2 API身份验证方法

时间:2016-04-05 18:53:39

标签: api symfony oauth

我有一个用Symfony 2.7编写的JSON REST API,我想验证&授权用户。这是我第一次这样做,所以我有一些疑问/问题。

为此,我想了几种方法:

  1. 用户&密码,然后在后端保存会话
  2. 与1)相同,但添加“apiToken”(在用户注册时随机生成)然后发回&在每个请求中检查用户身份的apiToken。
  3. 使用OAuth(我目前正在阅读它)。
  4. 我读到使用OAuth作为一个简单的API就像是一个“过度杀伤”,但在安全方面它坚持标准,并允许我在使用我的API与移动设备和不同平台时使用它。

    另外,我对使用方法1)或2)的安全漏洞知之甚少。

    我知道这可能是基于意见,但我不知道任何其他网站发布这个问题,因为Symfony官方邮件被关闭并在这里迁移似乎。

1 个答案:

答案 0 :(得分:0)

您似乎知道,您的问题太基于意见了。

如果我能给你一些建议(600条评论的时间太长),

OAuth很强大,但是很自由 我的意思是你可以很容易地实现它排序,因为一切都运行良好,同时有一系列潜在的安全问题而不知道它们的存在。

由于经常发现新的安全问题,提供OAuth的库和捆绑包很难维护。 另一方面,如果您需要OAuth(作为客户端和/或服务器,与大多数社交网络兼容)的好处,请继续学习OAuth并使用它来体验。

否则,请使用简单的凭据/请求令牌两步验证。

请参阅JWT Authentication tutorial by KnpLabs
Symfony Guard Authentication by Ryan Weaver
和伟大的LexikJWTAuthenticationBundle,易于实施和使用。