Вы можете использовать привязку учетных записей, чтобы связать учетные записи Google ваших пользователей с учетными записями пользователей в вашей системе аутентификации. Это позволяет вам создавать более богатые возможности для ваших пользователей; например, вы можете сохранить предпочтения пользователя в еде или музыке, историю транзакций и другую информацию, которую вы можете использовать для предоставления более персонализированного опыта.
Если ваше действие является дополнением к существующим приложениям на разных платформах (например, в Интернете или Android), вы можете использовать привязку учетных записей, чтобы безопасно сделать настройки пользователей доступными для всех платформ, что обеспечивает единообразие кросс-платформенного взаимодействия.
Для привязки аккаунта к Actions on Google используется Google Sign-In , безопасная система аутентификации Google, и дополнительно OAuth 2.0 , стандартный отраслевой протокол для авторизации.
Понимание процесса привязки аккаунта
Когда Ассистент сопоставляет учетную запись Google с пользователем, вы можете использовать привязку учетной записи, чтобы запросить у пользователя разрешение на доступ к этой учетной записи Google. Вы можете использовать данные учетной записи, чтобы сделать следующее:
- Чтобы найти соответствие учетной записи в вашей системе аутентификации, если пользователь уже использовал ваше действие или одно из ваших приложений на других платформах.
- Чтобы создать новую учетную запись в вашей системе аутентификации для нового пользователя.
Действия в Google предлагают три разных типа привязки учетных записей.
Вход через Google
![](https://developers-dot-devsite-v2-prod.appspot.com/static/assistant/df-asdk/identity/images/gsi-only-hero.png?authuser=8&hl=ru)
С помощью Google Sign-In для Assistant ваше действие может запросить доступ к профилю Google вашего пользователя во время разговора, включая имя пользователя, адрес электронной почты и изображение профиля. Пользователь может завершить весь процесс с помощью голоса, что обеспечивает беспрепятственный вход в систему.
Этот тип привязки учетной записи рекомендуется, если применимо одно из следующих условий:
- У вас нет существующей системы аутентификации.
- У вас есть существующая система аутентификации, и вы хотите связываться только с пользователями, которые зарегистрировались в ваших существующих приложениях, используя свой адрес @gmail.com.
Дополнительные сведения см. в руководстве по концепции входа в систему Google и руководстве по реализации .
OAuth и вход через Google
![](https://developers-dot-devsite-v2-prod.appspot.com/static/assistant/df-asdk/identity/images/gsi-oauth-hero.png?authuser=8&hl=ru)
Тип связывания OAuth и Google Sign-In добавляет вход Google поверх связывания аккаунта на основе OAuth. Это обеспечивает беспрепятственное голосовое связывание для пользователей Google, а также позволяет связывать учетные записи для пользователей, которые зарегистрировались в вашей службе с помощью удостоверения, отличного от Google.
Чтобы использовать этот поток, вам необходимо расширить один из поддерживаемых стандартных потоков OAuth 2, чтобы добавить поддержку проприетарных расширений протокола Google, которые позволяют:
- Легко свяжите учетные записи, используя данные профиля Google.
- Легко создавайте новые учетные записи, используя данные профиля Google (необязательно).
Этот тип привязки учетной записи рекомендуется, если у вас есть существующая система аутентификации и вы хотите разрешить пользователям подключаться к адресам, отличным от @gmail.com.
Чтобы узнать больше, см. руководство по концепции OAuth и Google Sign-In и руководство по реализации .
OAuth
Тип привязки учетной записи OAuth поддерживает два стандартных потока OAuth 2.0: неявный поток и поток кода авторизации .
Использование этого потока не рекомендуется, поскольку он требует переноса взаимодействия с пользователем с голоса на экран. Вы можете рассмотреть возможность использования этого потока, если у вас есть существующая реализация сервера OAuth 2, и вы не можете расширить конечную точку обмена токенами, чтобы добавить поддержку протоколов Google для автоматического связывания и создания учетной записи из токена идентификатора.
Дополнительные сведения см. в руководстве по концепции и руководстве по внедрению OAuth .