使用用户名和密码的symfony web-service

时间:2016-01-21 08:27:16

标签: web-services symfony passwords username

我不会发布我的任何代码,因为这只是一个问题,知道它是否可行。 我一直在谷歌搜索,但没有找到任何具体的解决方案。我希望有人可以帮助我。

事实:

  • 我有一个登录表单
  • 我需要通过网络服务验证凭据
  • 我需要发送用户名和密码,以便在成功登录后取回令牌。

问题:

  • 对于自定义提供程序,我总是坚持他们只能直接访问userename的事实,例如:loadUserByUsername。我也需要在那里访问密码,以便能够将其发送到我的网络服务。
  • 我只有一个网络服务,如果提供的用户名和密码正确,则只返回一个令牌。

问题:

如何访问和发送用户名和密码到我的网络服务?

谢谢!

2 个答案:

答案 0 :(得分:0)

一般来说,人们会使用API token对网络服务进行身份验证。

该API令牌通常在创建用户帐户时(通过管理员或注册表单)通过自动生成脚本发出。然后,此标记通过API调用传递到标头中的Web服务,然后使用它来验证用户。

就Symfony而言,到目前为止最简单的方法是使用Guard。由KNP的Ryan Weaver建造的新组件。

KNPUniversity有一个great tutorial(免费)。

请注意,这只是众多选项中的一种选择,“最佳”方式可能主要是基于意见的,并且与相关用例直接相关。但它可能会帮助你走上正确的轨道。

答案 1 :(得分:0)

如果您要创建的令牌应该是JSON Web令牌(JWT),那么非常巧妙的捆绑包是LexikJWTAuthenticationBundle,它几​​乎可以自动完成所有工作。如果您只是按照文档,您将快速启动并运行它。您可以将它与FOSUserBundle,自定义用户实体或其他任何内容结合使用。