Maintain separate table for standalone login and OAuth user?

Standalone login requires password hash to be stored in the database. However, for OAuth authentication, we do not store user’s password hash. As such if an app that offers standalone login and social login do we need to maintain separate table?

If assuming we maintain separate table, does that mean we need to have 2 user model?

Anyone can share their experience on this?

Yes 2 separate table mean 2 user model.

Even if possible and not difficult to do I would suggest you to use the same table to avoid username collision.

I a user register with same username as local account and as oauth this would generate 2 account with the same login.