Я внедрил логин Google OAuth 2.0 на сайте, над которым я работаю. Он отлично работает, за исключением ситуаций, когда пользователь регистрируется с двумя или более разными учетными записями в одном браузере. Он просит его выбрать, какой он хочет использовать. Но он просит пользователя каждый раз выбирать учетную запись. Есть ли способ запомнить это, поэтому пользователь может выбрать учетную запись только в первый раз, а затем автоматически зарегистрировать его с этой учетной записью?Google OAuth запомнить выбранный аккаунт
Вы можете поместить hd = domain.com в запрос в Google, но это помогает только в том случае, если две учетные записи зарегистрированы из разных доменов, и он может, кроме как войти в систему с помощью учетной записи @ domain.com.
Я где-то читал, что вы можете отправить user_id счет в качестве параметра Google (я думаю, это будет адрес электронной почты), но в данном случае я не знаю пользователей электронной почты, прежде чем он войдет в систему.
Я думаю, что это поведение одинаково, если вы используете OpenID.
Я использую библиотеку PHP OAuth от Google.
Спасибо, Андрей
Есть ли способ, которым следует помнить приложением Google? Поскольку файлы cookie могут быть удалены, пользователь может переключать браузеры ...? – Andrej
Нет, если куки пропали – Nikos
Это немного зависит от того, что вы подразумеваете под «первым временем» и «каждый раз». Например, как сказал Никос, если пользователь переключает браузеры, тогда кажется разумным, что ему нужно снова подсказать, какую учетную запись использовать, и это неизбежно. В одном браузере вам следует запрашивать только один раз за сеанс (опять же, вам нужно самому решить, что представляет собой сеанс). После того, как пользователь подключится и авторизуется для вас, вы можете сохранить его userId или электронную почту в переменной сеанса на стороне сервера, а затем разрешить любую фреймворку, которую вы используете, беспокоиться о файлах cookie. – pinoyyid