не совсем понимаю вопроса
authorization code кто должен генерить?
при открытии дочернего на сервере генерится какой то authorization code и передается в качестве одного из параметров в url? или в качестве site callback-a?
интересный совет, а можете расписать про "менеджер комнат" ?
про эмиты в директивах согласен, это для тренировки,
я ж правильно понял Ваш совет, вынести все это в отдельный сервис/фабрику?