是否有可能在Symfony 2中为REST API进行双因素身份验证?
我想实现这样的目标:
- 端点(移动应用程序)中的用户准备动态登录名和密码(基于某些算法)
- 端点中的用户请求 API 接口,例如/api/me?access_token=[ACEESTOKEN]
- 为了继续,用户必须传递基本身份验证的创建登录名和密码。
- Symfony2以与移动应用程序相同的方式准备登录名和密码,并与移动应用程序发送的登录名和密码进行比较。
- 如果没问题,Symfony2 会检查access_token(OAuth2 使用 FOSOAuthServerBundle 实现)。如果没问题,提供程序将根据访问令牌接收用户对象,用户经过身份验证并且可以访问 api/me
你可以创建/添加多个身份验证提供程序,Symfony的身份验证管理器将检查每个身份验证提供程序
"AuthenticationProviderInterface 要求在用户令牌上有一个身份验证方法,以及一个支持方法,该方法告诉身份验证管理器是否将此提供程序用于给定令牌。在多个提供程序的情况下,身份验证管理器将移动到列表中的下一个提供程序。
例