Используя эту страницу: https://developers.google.com/identity/sign-in/web/sign-in
Очень просто добавить кнопку на страницу для входа только на стороне клиента в Google.
При нажатии на кнопку пользователю предоставляется такой экран:
Для этой кнопки есть 2 ux_mode: "всплывающее окно" и "перенаправление": https://developers.google.com/identity/sign-in/web/reference
Мой вопрос касается конкретно ux_mode=popup, где исходная страница не меняется, а весь поток входа обрабатывается в отдельном всплывающем окне.
Представьте, что хорошее приложение опубликовано. Похоже, что злоумышленник может клонировать приложение и представить его пользователю. Пользователь, думая, что это хорошее приложение, войдет в систему, и у злоумышленника будет способ получить действительный токен от пользователя для хорошего приложения.
Теперь я понимаю, что в этом режиме (всплывающее окно) IDP (Google) будет отклонять все, что не исходит из источника, который не является частью явного списка URI перенаправления, установленного в конфигурации проекта.
Но разве это единственное, что препятствует этому? Я снова и снова читал, что не следует полагаться на CORS для обеспечения безопасности. Также я не уверен, но кажется, что это можно обойти, немного поработав.
Есть ли еще один аспект безопасности этого процесса входа в систему, который мне не хватает?