added provider and user validations, added location for error messages to be thrown in sessions