У меня возник вопрос о процессе OAuth2.0. Я хотел бы достичь чего-то типа Stack Log with google account
.Google OAuth автоматический логин
Я использую библиотеку PHP из Google.
Я в порядке получаю токен обновления и токен доступа.
Насколько мне известно, когда пользователь выходит из моего веб-сайта и снова нажимает кнопку, как я должен знать, кто должен извлечь из БД нужный токен обновления?
Я думал о сохранении электронной почты в cookie, но StackOverflow, похоже, не делает этого, поскольку я очистил свои файлы cookie, но Stack продолжает связываться со мной, когда я нажимаю кнопку, не отображая страницу google «Область применения».
Я что-то упустил? Есть ли API, позволяющий получать электронную почту пользователя без токена? Возможно, RefreshToken может использоваться только с Mobile APP, где вы знаете пользователя?
То, что я хочу достичь, относительно просто, пользователь нажимает на вход, в первый раз нужно одобрить приложение. После его завершения я хотел бы автоматически подключить пользователя при нажатии кнопки входа.
Спасибо за любую информацию по этому
Ну да, я уже прочитал много документов, включая этот. Я возьму второй взгляд, спасибо за указание. –
Я дам вам щедрость, так как вы первый, кто ответил, и я не уверен в других ответах. Из всего моего чтения ответ, который я ожидал, это: «Вам действительно не нужен токен Refresh для Веб-сайта, если вам не нужны данные от пользователя, когда вы не вошли на ваш сайт» –
Не заметил ваш ответ в папке «Входящие» какое-то время. Это правда, что вам не нужен refresh_token. До тех пор, пока пользователь будет подключен к Google, вам нужно только периодически обновлять access_token с помощью невидимого i-кадра. Использование response_type = токена вместо кода вернет access_tokens в фрагменте URL-адреса, и вы можете надежно выполнить эту операцию в фоновом режиме, добавив display = none в URL-адрес. Самый простой способ сделать эту работу - использовать виджет входа в систему G +. Он работает для всех пользователей Google/Google Apps, даже без аккаунтов Google+. См. Https://developers.google.com/+/ – breno