Authenticate user by credential and return an instance of UserIdPrincipal if the credential pair is valid