Google Sign-In API не является симметричным - утечка аккаунта пользователя - PullRequest
0 голосов
/ 25 августа 2018

Я работаю над SPA, который использует аутентификацию Google в библиотеке javascript для аутентификации пользователей. Пользователь подал отчет об ошибке, из-за которого приложение просочилось в ее учетную запись электронной почты Google, когда она продемонстрировала наш продукт на общем компьютере.

Я заметил, что другие веб-сайты страдают от таких же симптомов, поэтому в моем примере будет использоваться medium.com.

Воспроизвести:

  1. Посетите общедоступный компьютер в своей локальной библиотеке.
  2. Open Chrome
  3. Перейдите на mail.google.com и увидите, что ни один пользователь не вошел в систему.
  4. Перейдите на medium.com и войдите в систему с учетной записью Google.
  5. Выйти из medium.com
  6. Здесь заканчивается симметрия входа и выхода. Вы должны быть в состоянии уйти в этот момент.
  7. Посетите mail.google.com еще раз. Убедитесь, что вы автоматически вошли в систему.

Похоже, что аутентификация на стороннем веб-сайте также входит в экосистему Google, а затем учетная запись остается активной после выхода со стороннего веб-сайта.

Существует ли способ аутентификации пользователя через учетную запись Google, который не включает этот побочный эффект?

1 Ответ

0 голосов
/ 25 августа 2018

Пользователь входит в Google и на сайт

Когда пользователь использует OAuth (через Google), он перенаправляет их на страницу Google OAuth с некоторыми данными в соответствии с ...

Привет, Google, этот человек по имени Foo Bar утверждает, что это foobar@gmail.com. Это верно?

Тогда Google либо ответит "Да", если вы вошли в систему, либо ...

Подожди секундочку, они не вошли в систему - я дам им экран входа в систему, чтобы проверить тебя

После этого пользователь войдет в систему Google , а НЕ на ваш сайт. В случае успешного входа в систему Google перенаправит пользователя обратно на ваш сайт с соответствующей информацией (например, имя, дата рождения, адрес электронной почты и т. Д.).

Все сделано, приятель! Foo Bar IS foobar@gmail.com! Вот его данные: [введите информацию о пользователе здесь]

Пользователь вошел в Google И в ваше приложение.

Когда пользователь выходит из вашего приложения, он остается в Google, что дает результат, о котором вы говорите. Существуют способы автоматического выхода из Google (подробности приведены в ссылке ниже), но я бы определенно не рекомендовал их, поскольку пользователь может открыть Gmail на другой вкладке, и вы, скорее всего, нарушите их рабочий процесс. Вы могли бы даже волновать их. (Я бы сделал, если бы я вышел из Google без причины!)


Источник

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...