Php Symfony API两步认证

Php Symfony API两步认证,php,symfony,symfony-security,Php,Symfony,Symfony Security,我正在开发一个带有两步身份验证的symfonyapi应用程序。第一步是带有用户名和密码的json\u登录表单,第二步是带有短信服务的OTP。 json_登录成功后,json_登录验证器必须创建JWT。因为,我使用令牌而不是PHP会话。它在security.yaml文件中通过无状态:true选项进行配置 # security.yaml stateless: true json_login: check_path: app_login username_path: email p

我正在开发一个带有两步身份验证的symfonyapi应用程序。第一步是带有用户名和密码的
json\u登录
表单,第二步是带有短信服务的OTP。 json_登录成功后,json_登录验证器必须创建JWT。因为,我使用令牌而不是PHP会话。它在security.yaml文件中通过
无状态:true
选项进行配置

# security.yaml
stateless: true
json_login:
check_path: app_login
     username_path: email
     password_path: password
使用Symfony框架可以制作许多不同的身份验证程序和防火墙。
在第一步(json_登录),用户经过身份验证并有权访问整个系统。但是,用户必须在OTP步骤后访问整个系统。我可以使用哪种方法进行双因素身份验证?

以下是过去对我有帮助的一些技巧:

  • Google Authenticator:(这是Google提供的原始代码的实现,但专用于PHP)
  • 2fa:,
    • 请注意,它已过时,建议用于最新的symfony版本
    • 作者在这里解释了2fa:
  • SMS |电子邮件验证,您可以使用用于twilio的Symfony的Authy bundle,但建议使用Verify API()


在实现这些砖块之后,您需要添加API的业务逻辑

我必须为JWT配置2fa bundle。出于安全原因,我不能使用像Twillio这样的外部用户系统。我将分享我的工作成果。谢谢@mahefathanke@karatas.hakan