Я пытаюсь поддерживать гибридный федеративный вход и oAuth2 (используя логику из этого документа) для веб-сервис, который:
- support Войдите, используя свою учетную запись Google на моем сайте. То есть из документации: Вы также можете использовать систему аутентификации Google как способ аутсорсинга аутентификации пользователя для вашего приложения. Это может избавить от необходимости создавать, поддерживать и защищать хранилище имен пользователей и паролей.
- Получите доступ к Google Analytics пользователя.
Вот шаги, которые я сделал.
- Я формирую свой запрос на https://accounts.google.com/o/oauth2/auth с областями (Google Analytics), к которым мне нужен доступ.
- Меня перенаправляют в Google, где есть мой значок и к каким областям я запрашиваю доступ. Даю доступ.
- Меня перенаправляют обратно на страницу обратного вызова.
- Я получаю токены (доступ и обновление), а также огромную строку id_token (которую я не знаю) и сохраняю всю эту информацию в своей базе данных.
- Затем я звоню на https://www.googleapis.com/oauth2/v1/userinfo?access_token=xxxyyyzzz, чтобы получить адрес электронной почты и имя пользователя, а также сохранить эту информацию в своей базе данных. Я также заметил, что он возвращает поле id, которое, насколько мне известно, никогда не изменяется, и я предполагаю, что это своего рода уникальный идентификатор. Я тоже храню это.
Вопрос. Если я перейду к разделу Авторизованный доступ к вашей учетной записи Google в своей учетной записи Google, это покажет, что у моего сайта есть доступ к Google Analytics. НО там не говорится: Войдите, используя свой Аккаунт Google. Это то, что я пытаюсь выполнить. Я бы подумал, что использование логики позволит Войти, используя свою учетную запись Google. Что я делаю не так? И что будет применимый вызов Google, чтобы пользователи могли войти на мой сайт?