Я бы сделал комбинацию обоих предложенных вами решений.Выполнение проверки на стороне клиента приведёт в замешательство большинство людей, и для тех, кто разбирается в технологиях и пытается их обойти, ваш триггер onCreate справится с ними.
Вы также можете добавить их uid в список заблокированных в базе данных реального времени из триггера onCreate.
Затем вы можете прослушать его на клиенте и выйти из него.А для правил базы данных вы можете проверить, есть ли они в списке блокировки, и таким образом заблокировать правило чтения / записи.