I tested your two factor auth and it works really well. Only problem is: I can't set the roles to which it should apply to.
Eg I have websites where I don't want to force simple forum members to use two factor but for editors and admins I do want.
Eg the Two Factor Auth by Oscar Hane does this well: https://wordpress.org/plugins/two-factor-auth/screenshots/
You can select multiple roles by checkbox. Which would be a really cool addition to WSF.
If this was implemented I would use WSF over TFA