Аккаунт Google Smarthome Action связывает недостающую информацию о пользователе - PullRequest
0 голосов
/ 07 февраля 2020

мой код основан на этом примере
https://codelabs.developers.google.com/codelabs/smarthome-washer

Процесс OAuth работает. Но теперь я хочу знать, кто является пользователем.

Здесь
https://developers.google.com/assistant/identity/google-sign-in-oauth?oauth=code
описано, что:
После того, как пользователь дает согласие на действие чтобы получить доступ к своему профилю Google, Google отправляет запрос, который содержит подписанное подтверждение личности пользователя Google.

Но если я проверю аутентификацию, меня никогда не попросят предоставить доступ к моему профилю Google.

Я думаю, что мне нужно настроить, какую информацию хочет получить мое приложение от пользователя. Но я не знал, где это сделать.

Я много искал, но не смог найти пример, который действительно объясняет, как получить информацию о пользователе.

Спасибо за вашу помощь .
С уважением, Саймон

1 Ответ

1 голос
/ 10 февраля 2020

Процесс OAuth работает. Но теперь я хочу знать, кто является пользователем.

Просто отметим здесь, что примеры и кодовые метки используют ложную реализацию OAuth, не реализующую поток входа пользователя и возвращающий hard фальсифицированный токен доступа во время привязки аккаунта.

Здесь https://developers.google.com/assistant/identity/google-sign-in-oauth?oauth=code описывается следующим образом: После того, как пользователь дает согласие на действие для доступа к своему профилю Google , Google отправляет запрос, содержащий подписанное подтверждение личности пользователя Google.

Действия умного дома не поддерживают потоки связывания аккаунта Google. Вам необходимо реализовать код авторизации OAuth в вашей интеграции ссылок учетной записи.

Я думаю, что мне нужно настроить, какую информацию мое приложение хочет получить от пользователя. Но я не знал, где это сделать.

Я много искал, но не смог найти пример, который действительно объясняет, как получить информацию о пользователе.

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

Так что в этом случае вы один который владеет пользовательскими данными. Вы просто предоставляете Google доступ к этим данным для отправки запросов и команд на устройства.

...