Best practices for mobile app registration and login

In terms of both registration login technology and user work flow, is there anything unfeasible or unwise with this registration configuration for a mobile app?

Phone or email

Password

Or use one-time passcode

Sign in with Facebook

Sign in with Google

Sign in with Apple

Sign in with Instagram

So the user has the option of using phone or email, and they have the option of using a password or a one-time passcode. (It would also be my intention to let those who opt for a password to get a one-time passcode instead of using their password for any given login session, and it would be a one-time passcode rather than a password reset).

Thank you.