I am building a full stack app with Next JS frontend and Express JS backend with MongoDB as the database. I want to implement authentication using email and password, as well as with Google Provider. I also want to add a verify token or OTP token for auth. I do have a custom signup and login page. What is the best way to implement auth for this kind of setup considering the app will have mostly free users?
I have looked up several options but couldn’t find any documentation or guide that suites this use case. NextAuth documentation seems to be hard while Clerk is expensive.