[LOGIN] +: abstract provider conditiionally create a new user