I think I misread though. Are you just using Solid.js or are you using Solid Start? What's your tech stack? If you're not using Solid Start it should be pretty straightforward, I think.
SuperTokens is an open source authentication solution offering features like: Different types of login: Email / password, Passwordless (OTP or Magic link based).