Implement custom user authentication model using email as username