2022-04-24 18:51:48
Адекватно изолировал Dev и продакшен окружения разработки.
Для Angular мне помогли environments, а для бека я использовал два разных docker-compose файла (они у меня и так были – один для прода, другой, – локальный, – для разработки), в которых указал разные переменные окружения (не те, которые в Angular, а те, которые можно увидеть на маке, напечатав в консоли `env`).
Столкнулся с проблемой – кукисы могут ставится на http://localhost (ну как минимум мне об этом заявляет Chrome во вкладке Application > Cookies), а вот достать их уже не получается. Можно достать с адреса типа 127.0.0.1 или 192.168.0.101, гугл не позволяет такие адреса в Authorized redirect URIs (а без адреса в Authorized redirect URIs гугл не даст провести Google Login).
Пришлось возвращать хранение и передачу JWT с фронта на бек.
Только что проверил и гугл разрешил мне поставить 127.0.0.1. Я раньше не замечал этого, потому что он походу ругался когда я вводил этот адрес, а видите ли если ввести его полностью, то не ругается, несмотря на его же заявления.
Прикол. Теперь придется опять убирать хранение и передачу JWT с фронта на бек. Но не беда.
Но вот что действительно беда, – так это то, что с телефона посмотреть локальный сервер можно только по IP адресу внутренней сети. Для меня это 192.168.0.101. То есть никакого тебе http://localhost, никакого http://127.0.0.1, только внутренний адрес.
Оно-то понятно, но напомню еще раз – гугл не позволяет указывать у себя адрес внутренней сети в качестве Authorized redirect URIs.
Так что тут только придумывать какие-то костыли (о которых забудешь и которые могут даже и прод сломать при кривых руках) только ради того, чтобы протестировать твой фронтенд на мобильном телефоне. А без тестирования на реальном мобильном устройстве вообще нельзя ни верстку, ни логику выпускать в прод, там всегда обязательно что-то едет, даже то, что нормально отображается нормально в мобильных эмуляторах (даже официальном от Apple в XCode).
184 views Oleh Kopyl ceo @ iDied.org, 15:51