Я использую Google oauth2 для входа пользователя. Webapp предоставит пользователю интерфейс google oauth2, и как только пользователь будет подтвержден, webapp перезвонит для установления сеанса. Для успешного входа в наш бэкэнд нам нужна только базовая информация о пользователе. Ниже я вижу 2 варианта для достижения этой цели.
После того, как пользователь будет подтвержден с помощью логина Google. Веб-приложение должно отправить идентификатор токена в бэкэнд. Backend проверит токен и получит информацию о пользователе. Похоже, что для проверки не требуется никакой клиентской секретности. Как описано в этом документе https://developers.google.com/identity/sign-in/web/backend-auth
После того, как пользователь будет подтвержден с помощью логина Google. Веб-приложение отправит один временной код. Backend получит токен доступа для получения базового профиля пользователя. Для получения токена доступа используется секретный клиент.
https://developers.google.com/identity/sign-in/web/server-side-flow
Я немного запутался, какой из вышеперечисленных потоков даст мне больше безопасности только для базового профиля. Для второго варианта мне не нужен автономный доступ к профилю пользователя. Так есть ли необходимость использовать второй вариант?
И в первом случае, информация профиля легко доступна злоумышленникам.