Т.е так: юзер вводит номер телефона, дальше идет авторизация на firebase, далее юзер авторизуется на firebase. Авторизовался? Если да, значит идет в endpoint, там регистрируется. Создался профиль в эндпоинте? Если да, тогда идем в endpoint auth, ему передаем идентификатор от firebase, далее этот идентификатор зашиваем в refresh_token и отдаем клиенту refresh_token и access_token. Если нужно перевыдать refresh_token, тогда идем в endpoint auth, передаем ему идентификатор от firebase, он открывает refresh_token, сравнивает идентификатор внутри refresh_token и тот, что ему сейчас передает клиент, если они идеинтичны - тогда происходит перевыпуск refresh_token. Иначе тот, кто запрашивает перевыдачу refresh_token - не является владельцем этого refresh_token