Учетные записи связаны с использованием неявного отраслевого стандарта OAuth 2.0 и потоков кода авторизации . Ваш сервис должен поддерживать авторизацию и конечные точки обмена токенами , совместимые с OAuth 2.0.
В неявном потоке Google открывает конечную точку авторизации в браузере пользователя. После успешного входа вы возвращаете долгосрочный токен доступа в Google. Этот токен доступа теперь включается в каждый запрос, отправляемый от Google.
В потоке кода авторизации вам нужны две конечные точки:
Конечная точка авторизации , которая предоставляет пользовательский интерфейс входа пользователям, которые еще не вошли в систему. Конечная точка авторизации также создает кратковременный код авторизации для записи согласия пользователей на запрошенный доступ.
Конечная точка обмена токенами , которая отвечает за два типа обмена:
- Заменяет код авторизации на долгосрочный токен обновления и кратковременный токен доступа. Этот обмен происходит, когда пользователь проходит процедуру привязки учетной записи.
- Заменяет долгосрочный токен обновления на кратковременный токен доступа. Этот обмен происходит, когда Google нужен новый токен доступа, поскольку срок действия того, у которого истек срок действия.
Выберите поток OAuth 2.0.
Хотя неявный поток проще реализовать, Google рекомендует, чтобы токены доступа, выданные неявным потоком, никогда не истекали. Это связано с тем, что пользователь вынужден снова связать свою учетную запись после истечения срока действия токена с неявным потоком. Если вам необходим срок действия токена по соображениям безопасности, мы настоятельно рекомендуем вместо этого использовать поток кода авторизации .
Рекомендации по проектированию
В этом разделе описаны требования и рекомендации к дизайну пользовательского экрана, который вы размещаете для связывания потоков OAuth. После вызова приложения Google ваша платформа отображает пользователю страницу входа в систему и экран согласия привязки учетной записи. Пользователь перенаправляется обратно в приложение Google после того, как дает согласие на связывание учетных записей.
Требования
- Вы должны сообщить, что учетная запись пользователя будет связана с Google, а не с конкретным продуктом Google, таким как Google Home или Google Assistant.
Рекомендации
Мы рекомендуем вам сделать следующее:
Отобразите Политику конфиденциальности Google. Включите ссылку на Политику конфиденциальности Google на экране согласия.
Данные для обмена. Используйте ясный и краткий язык, чтобы сообщить пользователю, какие данные требуются Google и почему.
Четкий призыв к действию. Укажите четкий призыв к действию на экране согласия, например «Согласитесь и разместите ссылку». Это связано с тем, что пользователям необходимо понимать, какими данными они должны поделиться с Google, чтобы связать свои учетные записи.
Возможность отмены. Предоставьте пользователям возможность вернуться или отменить ссылку, если они решат не устанавливать ссылку.
Очистить процесс входа. Убедитесь, что у пользователей есть понятный способ входа в свою учетную запись Google, например поля для имени пользователя и пароля или «Войти через Google» .
Возможность отсоединиться. Предложите пользователям механизм отключения связи, например URL-адрес настроек их учетной записи на вашей платформе. Кроме того, вы можете добавить ссылку на учетную запись Google , где пользователи смогут управлять своей связанной учетной записью.
Возможность изменить учетную запись пользователя. Предложите пользователям способ переключения своих учетных записей. Это особенно полезно, если пользователи имеют несколько учетных записей.
- Если пользователю необходимо закрыть экран согласия для переключения учетных записей, отправьте в Google исправимую ошибку, чтобы пользователь мог войти в нужную учетную запись с помощью привязки OAuth и неявного потока.
Включите свой логотип. Отобразите логотип вашей компании на экране согласия. Используйте свои рекомендации по стилю для размещения логотипа. Если вы хотите также отображать логотип Google, см. раздел Логотипы и товарные знаки .
В неявном потоке Google открывает конечную точку авторизации в браузере пользователя. После успешного входа вы возвращаете долгосрочный токен доступа в Google. Этот токен доступа теперь включается в каждый запрос, отправляемый от Google.
В потоке кода авторизации вам нужны две конечные точки:
Конечная точка авторизации , которая предоставляет пользовательский интерфейс входа пользователям, которые еще не вошли в систему. Конечная точка авторизации также создает кратковременный код авторизации для записи согласия пользователей на запрошенный доступ.
Конечная точка обмена токенами , которая отвечает за два типа обмена:
- Заменяет код авторизации на долгосрочный токен обновления и кратковременный токен доступа. Этот обмен происходит, когда пользователь проходит процедуру привязки учетной записи.
- Заменяет долгосрочный токен обновления на кратковременный токен доступа. Этот обмен происходит, когда Google нужен новый токен доступа, поскольку срок действия того, у которого истек срок действия.
Выберите поток OAuth 2.0.
Хотя неявный поток проще реализовать, Google рекомендует, чтобы токены доступа, выданные неявным потоком, никогда не истекали. Это связано с тем, что пользователь вынужден снова связать свою учетную запись после истечения срока действия токена с неявным потоком. Если вам необходим срок действия токена по соображениям безопасности, мы настоятельно рекомендуем вместо этого использовать поток кода авторизации .
Рекомендации по проектированию
В этом разделе описаны требования и рекомендации к дизайну пользовательского экрана, который вы размещаете для связывания потоков OAuth. После вызова приложения Google ваша платформа отображает пользователю страницу входа в систему и экран согласия привязки учетной записи. Пользователь перенаправляется обратно в приложение Google после того, как дает согласие на связывание учетных записей.
Требования
- Вы должны сообщить, что учетная запись пользователя будет связана с Google, а не с конкретным продуктом Google, таким как Google Home или Google Assistant.
Рекомендации
Мы рекомендуем вам сделать следующее:
Отобразите Политику конфиденциальности Google. Включите ссылку на Политику конфиденциальности Google на экране согласия.
Данные для обмена. Используйте ясный и краткий язык, чтобы сообщить пользователю, какие данные требуются Google и почему.
Четкий призыв к действию. Укажите четкий призыв к действию на экране согласия, например «Согласитесь и разместите ссылку». Это связано с тем, что пользователям необходимо понимать, какими данными они должны поделиться с Google, чтобы связать свои учетные записи.
Возможность отмены. Предоставьте пользователям возможность вернуться или отменить ссылку, если они решат не устанавливать ссылку.
Очистить процесс входа. Убедитесь, что у пользователей есть понятный способ входа в свою учетную запись Google, например поля для имени пользователя и пароля или «Войти через Google» .
Возможность отсоединиться. Предложите пользователям механизм отключения связи, например URL-адрес настроек их учетной записи на вашей платформе. Кроме того, вы можете добавить ссылку на учетную запись Google , где пользователи смогут управлять своей связанной учетной записью.
Возможность изменить учетную запись пользователя. Предложите пользователям способ переключения своих учетных записей. Это особенно полезно, если пользователи имеют несколько учетных записей.
- Если пользователю необходимо закрыть экран согласия для переключения учетных записей, отправьте в Google исправимую ошибку, чтобы пользователь мог войти в нужную учетную запись с помощью привязки OAuth и неявного потока.
Включите свой логотип. Отобразите логотип вашей компании на экране согласия. Используйте свои рекомендации по стилю для размещения логотипа. Если вы хотите также отображать логотип Google, см. раздел Логотипы и товарные знаки .
В неявном потоке Google открывает конечную точку авторизации в браузере пользователя. После успешного входа вы возвращаете долгосрочный токен доступа в Google. Этот токен доступа теперь включается в каждый запрос, отправляемый от Google.
В потоке кода авторизации вам нужны две конечные точки:
Конечная точка авторизации , которая предоставляет пользовательский интерфейс входа пользователям, которые еще не вошли в систему. Конечная точка авторизации также создает кратковременный код авторизации для записи согласия пользователей на запрошенный доступ.
Конечная точка обмена токенами , которая отвечает за два типа обмена:
- Заменяет код авторизации на долгосрочный токен обновления и кратковременный токен доступа. Этот обмен происходит, когда пользователь проходит процедуру привязки учетной записи.
- Заменяет долгосрочный токен обновления на кратковременный токен доступа. Этот обмен происходит, когда Google нужен новый токен доступа, поскольку срок действия того, у которого истек срок действия.
Выберите поток OAuth 2.0.
Хотя неявный поток проще реализовать, Google рекомендует, чтобы токены доступа, выданные неявным потоком, никогда не истекали. Это связано с тем, что пользователь вынужден снова связать свою учетную запись после истечения срока действия токена с неявным потоком. Если вам необходим срок действия токена по соображениям безопасности, мы настоятельно рекомендуем вместо этого использовать поток кода авторизации .
Рекомендации по проектированию
В этом разделе описаны требования и рекомендации к дизайну пользовательского экрана, который вы размещаете для связывания потоков OAuth. После вызова приложения Google ваша платформа отображает пользователю страницу входа в систему и экран согласия привязки учетной записи. Пользователь перенаправляется обратно в приложение Google после того, как дает согласие на связывание учетных записей.
Требования
- Вы должны сообщить, что учетная запись пользователя будет связана с Google, а не с конкретным продуктом Google, таким как Google Home или Google Assistant.
Рекомендации
Мы рекомендуем вам сделать следующее:
Отобразите Политику конфиденциальности Google. Включите ссылку на Политику конфиденциальности Google на экране согласия.
Данные для обмена. Используйте ясный и краткий язык, чтобы сообщить пользователю, какие данные требуются Google и почему.
Четкий призыв к действию. Укажите четкий призыв к действию на экране согласия, например «Согласитесь и разместите ссылку». Это связано с тем, что пользователям необходимо понимать, какими данными они должны поделиться с Google, чтобы связать свои учетные записи.
Возможность отмены. Предоставьте пользователям возможность вернуться или отменить ссылку, если они решат не устанавливать ссылку.
Очистить процесс входа. Убедитесь, что у пользователей есть понятный способ входа в свою учетную запись Google, например поля для имени пользователя и пароля или «Войти через Google» .
Возможность отсоединиться. Предложите пользователям механизм отключения связи, например URL-адрес настроек их учетной записи на вашей платформе. Кроме того, вы можете добавить ссылку на учетную запись Google , где пользователи смогут управлять своей связанной учетной записью.
Возможность изменить учетную запись пользователя. Предложите пользователям способ переключения своих учетных записей. Это особенно полезно, если пользователи имеют несколько учетных записей.
- Если пользователю необходимо закрыть экран согласия для переключения учетных записей, отправьте в Google исправимую ошибку, чтобы пользователь мог войти в нужную учетную запись с помощью привязки OAuth и неявного потока.
Включите свой логотип. Отобразите логотип вашей компании на экране согласия. Используйте свои рекомендации по стилю для размещения логотипа. Если вы хотите также отображать логотип Google, см. раздел Логотипы и товарные знаки .
В неявном потоке Google открывает конечную точку авторизации в браузере пользователя. После успешного входа вы возвращаете долгосрочный токен доступа в Google. Этот токен доступа теперь включается в каждый запрос, отправляемый от Google.
В потоке кода авторизации вам нужны две конечные точки:
Конечная точка авторизации , которая предоставляет пользовательский интерфейс входа пользователям, которые еще не вошли в систему. Конечная точка авторизации также создает кратковременный код авторизации для записи согласия пользователей на запрошенный доступ.
Конечная точка обмена токенами , которая отвечает за два типа обмена:
- Заменяет код авторизации на долгосрочный токен обновления и кратковременный токен доступа. Этот обмен происходит, когда пользователь проходит процедуру привязки учетной записи.
- Заменяет долгосрочный токен обновления на кратковременный токен доступа. Этот обмен происходит, когда Google нужен новый токен доступа, поскольку срок действия того, у которого истек срок действия.
Выберите поток OAuth 2.0.
Хотя неявный поток проще реализовать, Google рекомендует, чтобы токены доступа, выданные неявным потоком, никогда не истекали. Это связано с тем, что пользователь вынужден снова связать свою учетную запись после истечения срока действия токена с неявным потоком. Если вам необходим срок действия токена по соображениям безопасности, мы настоятельно рекомендуем вместо этого использовать поток кода авторизации .
Рекомендации по проектированию
В этом разделе описаны требования и рекомендации к дизайну пользовательского экрана, который вы размещаете для связывания потоков OAuth. После вызова приложения Google ваша платформа отображает пользователю страницу входа в систему и экран согласия привязки учетной записи. Пользователь перенаправляется обратно в приложение Google после того, как дает согласие на связывание учетных записей.
Требования
- Вы должны сообщить, что учетная запись пользователя будет связана с Google, а не с конкретным продуктом Google, таким как Google Home или Google Assistant.
Рекомендации
Мы рекомендуем вам сделать следующее:
Отобразите Политику конфиденциальности Google. Включите ссылку на Политику конфиденциальности Google на экране согласия.
Данные для обмена. Используйте ясный и краткий язык, чтобы сообщить пользователю, какие данные требуются Google и почему.
Четкий призыв к действию. Укажите четкий призыв к действию на экране согласия, например «Согласитесь и разместите ссылку». Это связано с тем, что пользователям необходимо понимать, какими данными они должны поделиться с Google, чтобы связать свои учетные записи.
Возможность отмены. Предоставьте пользователям возможность вернуться или отменить ссылку, если они решат не устанавливать ссылку.
Очистить процесс входа. Убедитесь, что у пользователей есть понятный способ входа в свою учетную запись Google, например поля для имени пользователя и пароля или «Войти через Google» .
Возможность отсоединиться. Предложите пользователям механизм отключения связи, например URL-адрес настроек их учетной записи на вашей платформе. Кроме того, вы можете добавить ссылку на учетную запись Google , где пользователи смогут управлять своей связанной учетной записью.
Возможность изменить учетную запись пользователя. Предложите пользователям способ переключения своих учетных записей. Это особенно полезно, если пользователи имеют несколько учетных записей.
- Если пользователю необходимо закрыть экран согласия для переключения учетных записей, отправьте в Google исправимую ошибку, чтобы пользователь мог войти в нужную учетную запись с помощью привязки OAuth и неявного потока.
Включите свой логотип. Отобразите логотип вашей компании на экране согласия. Используйте свои рекомендации по стилю для размещения логотипа. Если вы хотите также отображать логотип Google, см. раздел Логотипы и товарные знаки .
Создать проект
Чтобы создать проект для использования привязки аккаунтов:
- Go to the Google API Console.
- Нажмите Создать проект .
- Введите имя или примите сгенерированное предложение.
- Подтвердите или отредактируйте оставшиеся поля.
- Нажмите Создать .
Для просмотра идентификатора вашего проекта:
- Go to the Google API Console.
- Найдите свой проект в таблице на целевой странице. Идентификатор проекта отображается в столбце идентификаторов .
Настройте экран согласия OAuth
Процесс связывания учетной записи Google включает в себя экран согласия, на котором пользователям сообщается, какое приложение запрашивает доступ к их данным, какие данные они запрашивают и какие условия применяются. Прежде чем создавать идентификатор клиента Google API, вам необходимо будет настроить экран согласия OAuth.
- Откройте страницу экрана согласия OAuth консоли API Google.
- При появлении запроса выберите только что созданный проект.
На странице «Экран согласия OAuth» заполните форму и нажмите кнопку «Сохранить».
Имя приложения: имя приложения, запрашивающего согласие. Имя должно точно отражать ваше приложение и соответствовать имени приложения, которое пользователи видят в других местах. Название приложения будет показано на экране согласия на привязку учетной записи.
Логотип приложения: изображение на экране согласия, которое поможет пользователям узнать ваше приложение. Логотип отображается на экране согласия на привязку учетной записи и в настройках учетной записи.
Электронная почта поддержки: чтобы пользователи могли связаться с вами и задать вопросы о своем согласии.
Области для API Google. Области позволяют вашему приложению получать доступ к личным данным Google вашего пользователя. Для варианта использования привязки учетной записи Google достаточно области по умолчанию (электронная почта, профиль, openid), вам не нужно добавлять какие-либо конфиденциальные области. Обычно рекомендуется запрашивать области постепенно, в тот момент, когда требуется доступ, а не заранее. Узнать больше .
Авторизованные домены. Чтобы защитить вас и ваших пользователей, Google разрешает использовать авторизованные домены только приложениям, которые проходят аутентификацию с помощью OAuth. Ссылки ваших приложений должны размещаться на авторизованных доменах. Узнать больше .
Ссылка на домашнюю страницу приложения: Домашняя страница вашего приложения. Должен быть размещен на авторизованном домене.
Ссылка на политику конфиденциальности приложения: отображается на экране согласия на привязку учетной записи Google. Должен быть размещен на авторизованном домене.
Ссылка на Условия использования приложения (необязательно): должна быть размещена в авторизованном домене.
Рисунок 1 . Экран согласия на привязку учетной записи Google к вымышленному приложению, Tunery
Проверьте «Статус проверки». Если ваше приложение требует проверки, нажмите кнопку «Отправить на проверку», чтобы отправить заявку на проверку. Подробную информацию см. в требованиях к проверке OAuth .
Создать проект
Чтобы создать проект для использования привязки аккаунтов:
- Go to the Google API Console.
- Нажмите Создать проект .
- Введите имя или примите сгенерированное предложение.
- Подтвердите или отредактируйте оставшиеся поля.
- Нажмите Создать .
Для просмотра идентификатора вашего проекта:
- Go to the Google API Console.
- Найдите свой проект в таблице на целевой странице. Идентификатор проекта отображается в столбце идентификаторов .
Настройте экран согласия OAuth
Процесс связывания учетной записи Google включает в себя экран согласия, на котором пользователям сообщается, какое приложение запрашивает доступ к их данным, какие данные они запрашивают и какие условия применяются. Прежде чем создавать идентификатор клиента Google API, вам необходимо будет настроить экран согласия OAuth.
- Откройте страницу экрана согласия OAuth консоли API Google.
- При появлении запроса выберите только что созданный проект.
На странице «Экран согласия OAuth» заполните форму и нажмите кнопку «Сохранить».
Имя приложения: имя приложения, запрашивающего согласие. Имя должно точно отражать ваше приложение и соответствовать имени приложения, которое пользователи видят в других местах. Название приложения будет показано на экране согласия на привязку учетной записи.
Логотип приложения: изображение на экране согласия, которое поможет пользователям узнать ваше приложение. Логотип отображается на экране согласия на привязку учетной записи и в настройках учетной записи.
Электронная почта поддержки: чтобы пользователи могли связаться с вами и задать вопросы о своем согласии.
Области для API Google. Области позволяют вашему приложению получать доступ к личным данным Google вашего пользователя. Для варианта использования привязки учетной записи Google достаточно области по умолчанию (электронная почта, профиль, openid), вам не нужно добавлять какие-либо конфиденциальные области. Обычно рекомендуется запрашивать области постепенно, в тот момент, когда требуется доступ, а не заранее. Узнать больше .
Авторизованные домены. Чтобы защитить вас и ваших пользователей, Google разрешает использовать авторизованные домены только приложениям, которые проходят аутентификацию с помощью OAuth. Ссылки ваших приложений должны размещаться на авторизованных доменах. Узнать больше .
Ссылка на домашнюю страницу приложения: Домашняя страница вашего приложения. Должен быть размещен на авторизованном домене.
Ссылка на политику конфиденциальности приложения: отображается на экране согласия на привязку учетной записи Google. Должен быть размещен на авторизованном домене.
Ссылка на Условия использования приложения (необязательно): должна быть размещена в авторизованном домене.
Рисунок 1 . Экран согласия на привязку учетной записи Google к вымышленному приложению, Tunery
Проверьте «Статус проверки». Если ваше приложение требует проверки, нажмите кнопку «Отправить на проверку», чтобы отправить заявку на проверку. Подробную информацию см. в требованиях к проверке OAuth .
Создать проект
Чтобы создать проект для использования привязки аккаунтов:
- Go to the Google API Console.
- Нажмите Создать проект .
- Введите имя или примите сгенерированное предложение.
- Подтвердите или отредактируйте оставшиеся поля.
- Нажмите Создать .
Для просмотра идентификатора вашего проекта:
- Go to the Google API Console.
- Найдите свой проект в таблице на целевой странице. Идентификатор проекта отображается в столбце идентификаторов .
Настройте экран согласия OAuth
Процесс связывания учетной записи Google включает в себя экран согласия, на котором пользователям сообщается, какое приложение запрашивает доступ к их данным, какие данные они запрашивают и какие условия применяются. Прежде чем создавать идентификатор клиента Google API, вам необходимо будет настроить экран согласия OAuth.
- Откройте страницу экрана согласия OAuth консоли API Google.
- При появлении запроса выберите только что созданный проект.
На странице «Экран согласия OAuth» заполните форму и нажмите кнопку «Сохранить».
Имя приложения: имя приложения, запрашивающего согласие. Имя должно точно отражать ваше приложение и соответствовать имени приложения, которое пользователи видят в других местах. Название приложения будет показано на экране согласия на привязку учетной записи.
Логотип приложения: изображение на экране согласия, которое поможет пользователям узнать ваше приложение. Логотип отображается на экране согласия на привязку учетной записи и в настройках учетной записи.
Электронная почта службы поддержки: чтобы пользователи могли связаться с вами и задать вопросы о своем согласии.
Области для API Google. Области позволяют вашему приложению получать доступ к личным данным Google вашего пользователя. Для варианта использования привязки учетной записи Google достаточно области по умолчанию (электронная почта, профиль, openid), вам не нужно добавлять какие-либо конфиденциальные области. Обычно рекомендуется запрашивать области постепенно, в тот момент, когда требуется доступ, а не заранее. Узнать больше .
Авторизованные домены. Чтобы защитить вас и ваших пользователей, Google разрешает использовать авторизованные домены только приложениям, которые проходят аутентификацию с помощью OAuth. Ссылки ваших приложений должны размещаться на авторизованных доменах. Узнать больше .
Ссылка на домашнюю страницу приложения: Домашняя страница вашего приложения. Должен быть размещен на авторизованном домене.
Ссылка на политику конфиденциальности приложения: отображается на экране согласия на привязку учетной записи Google. Должен быть размещен на авторизованном домене.
Ссылка на Условия использования приложения (необязательно): должна быть размещена в авторизованном домене.
Рисунок 1 . Экран согласия на привязку аккаунта Google к вымышленному приложению, Tunery
Проверьте «Статус проверки». Если ваше приложение требует проверки, нажмите кнопку «Отправить на проверку», чтобы отправить заявку на проверку. Подробную информацию см. в требованиях к проверке OAuth .
Создать проект
Чтобы создать проект для использования привязки аккаунтов:
- Go to the Google API Console.
- Нажмите Создать проект .
- Введите имя или примите сгенерированное предложение.
- Подтвердите или отредактируйте оставшиеся поля.
- Нажмите Создать .
Для просмотра идентификатора вашего проекта:
- Go to the Google API Console.
- Найдите свой проект в таблице на целевой странице. Идентификатор проекта отображается в столбце идентификаторов .
Настройте экран согласия OAuth
Процесс связывания учетной записи Google включает в себя экран согласия, на котором пользователям сообщается, какое приложение запрашивает доступ к их данным, какие данные они запрашивают и какие условия применяются. Прежде чем создавать идентификатор клиента Google API, вам необходимо будет настроить экран согласия OAuth.
- Откройте страницу экрана согласия OAuth консоли API Google.
- При появлении запроса выберите только что созданный проект.
На странице «Экран согласия OAuth» заполните форму и нажмите кнопку «Сохранить».
Имя приложения: имя приложения, запрашивающего согласие. Имя должно точно отражать ваше приложение и соответствовать имени приложения, которое пользователи видят в других местах. Название приложения будет показано на экране согласия на привязку учетной записи.
Логотип приложения: изображение на экране согласия, которое поможет пользователям узнать ваше приложение. Логотип отображается на экране согласия на привязку учетной записи и в настройках учетной записи.
Электронная почта поддержки: чтобы пользователи могли связаться с вами и задать вопросы о своем согласии.
Области для API Google. Области позволяют вашему приложению получать доступ к личным данным Google вашего пользователя. Для варианта использования привязки учетной записи Google достаточно области по умолчанию (электронная почта, профиль, openid), вам не нужно добавлять какие-либо конфиденциальные области. Обычно рекомендуется запрашивать области постепенно, в тот момент, когда требуется доступ, а не заранее. Узнать больше .
Авторизованные домены. Чтобы защитить вас и ваших пользователей, Google разрешает использовать авторизованные домены только приложениям, которые проходят аутентификацию с помощью OAuth. Ссылки ваших приложений должны размещаться на авторизованных доменах. Узнать больше .
Ссылка на домашнюю страницу приложения: Домашняя страница вашего приложения. Должен быть размещен на авторизованном домене.
Ссылка на политику конфиденциальности приложения: отображается на экране согласия на привязку учетной записи Google. Должен быть размещен на авторизованном домене.
Ссылка на Условия использования приложения (необязательно): должна быть размещена в авторизованном домене.
Рисунок 1 . Экран согласия на привязку аккаунта Google к вымышленному приложению, Tunery
Проверьте «Статус проверки». Если ваше приложение требует проверки, нажмите кнопку «Отправить на проверку», чтобы отправить заявку на проверку. Подробную информацию см. в требованиях к проверке OAuth .
Внедрите свой сервер OAuth
Для поддержки неявного потока OAuth 2.0 ваша служба предоставляет конечную точку авторизации по HTTPS. Эта конечная точка отвечает за аутентификацию и получение согласия пользователей на доступ к данным. Конечная точка авторизации предоставляет пользовательский интерфейс входа вашим пользователям, которые еще не вошли в систему, и записывает согласие на запрошенный доступ.
Когда приложению Google необходимо вызвать один из авторизованных API вашей службы, Google использует эту конечную точку, чтобы получить от ваших пользователей разрешение на вызов этих API от их имени.
Типичный сеанс неявного потока OAuth 2.0, инициированный Google, имеет следующий поток:
- Google открывает вашу конечную точку авторизации в браузере пользователя. Пользователь входит в систему, если он еще не вошел в систему, и предоставляет Google разрешение на доступ к своим данным с помощью вашего API, если он еще не предоставил разрешение.
- Ваш сервис создает токен доступа и возвращает его в Google. Для этого перенаправьте браузер пользователя обратно в Google с прикрепленным к запросу токеном доступа.
- Google вызывает API вашего сервиса и прикрепляет токен доступа к каждому запросу. Ваша служба проверяет, что токен доступа предоставляет Google авторизацию для доступа к API, а затем выполняет вызов API.
Обработка запросов на авторизацию
Когда приложению Google необходимо выполнить привязку учетной записи через неявный поток OAuth 2.0, Google отправляет пользователя в вашу конечную точку авторизации с запросом, который включает следующие параметры:
Параметры конечной точки авторизации | |
---|---|
client_id | Идентификатор клиента, который вы назначили Google. |
redirect_uri | URL-адрес, на который вы отправляете ответ на этот запрос. |
state | Бухгалтерское значение, которое передается обратно в Google без изменений в URI перенаправления. |
response_type | Тип значения, возвращаемого в ответе. Для неявного потока OAuth 2.0 тип ответа всегда — token . |
user_locale | Языковая настройка учетной записи Google в формате RFC5646, используемая для локализации вашего контента на предпочитаемом пользователем языке. |
Например, если ваша конечная точка авторизации доступна по адресу https://myservice.example.com/auth
, запрос может выглядеть следующим образом:
GET https://myservice.example.com/auth?client_id=GOOGLE_CLIENT_ID&redirect_uri=REDIRECT_URI&state=STATE_STRING&response_type=token&user_locale=LOCALE
Чтобы конечная точка авторизации могла обрабатывать запросы на вход, выполните следующие действия:
Проверьте значения
client_id
иredirect_uri
, чтобы предотвратить предоставление доступа непреднамеренным или неправильно настроенным клиентским приложениям:- Убедитесь, что
client_id
соответствует идентификатору клиента, который вы назначили Google. - Убедитесь, что URL-адрес, указанный параметром
redirect_uri
, имеет следующую форму:https://oauth-redirect.googleusercontent.com/r/YOUR_PROJECT_ID https://oauth-redirect-sandbox.googleusercontent.com/r/YOUR_PROJECT_ID
- Убедитесь, что
Проверьте, вошел ли пользователь в ваш сервис. Если пользователь не вошел в систему, завершите процедуру входа или регистрации в вашей службе.
Создайте токен доступа, который Google будет использовать для доступа к вашему API. Маркер доступа может быть любым строковым значением, но он должен однозначно представлять пользователя и клиента, для которого предназначен токен, и не должен быть угадываемым.
Отправьте HTTP-ответ, который перенаправляет браузер пользователя на URL-адрес, указанный параметром
redirect_uri
. Включите все следующие параметры во фрагмент URL:-
access_token
: токен доступа, который вы только что сгенерировали. -
token_type
:bearer
строки -
state
: немодифицированное значение состояния из исходного запроса.
Ниже приведен пример результирующего URL-адреса:
https://oauth-redirect.googleusercontent.com/r/YOUR_PROJECT_ID#access_token=ACCESS_TOKEN&token_type=bearer&state=STATE_STRING
-
Обработчик перенаправления Google OAuth 2.0 получает токен доступа и подтверждает, что значение state
не изменилось. После того как Google получил токен доступа к вашей службе, Google прикрепляет этот токен к последующим вызовам API вашей службы.
Обработка запросов информации о пользователях
Конечная точка userinfo — это ресурс, защищенный OAuth 2.0, который возвращает утверждения о связанном пользователе. Реализация и размещение конечной точки userinfo не является обязательной, за исключением следующих случаев использования:
- Вход в связанную учетную запись с помощью Google One Tap.
- Простая подписка на AndroidTV.
После того как токен доступа был успешно получен из конечной точки вашего токена, Google отправляет запрос в конечную точку информации о пользователе, чтобы получить основную информацию профиля связанного пользователя.
заголовки запроса конечной точки userinfo | |
---|---|
Authorization header | Токен доступа типа Bearer. |
Например, если ваша конечная точка userinfo доступна по адресу https://myservice.example.com/userinfo
, запрос может выглядеть следующим образом:
GET /userinfo HTTP/1.1 Host: myservice.example.com Authorization: Bearer ACCESS_TOKEN
Чтобы ваша конечная точка userinfo могла обрабатывать запросы, выполните следующие действия:
- Извлеките токен доступа из заголовка авторизации и верните информацию для пользователя, связанного с токеном доступа.
- Если токен доступа недействителен, верните ошибку HTTP 401 Unauthorized с использованием заголовка ответа
WWW-Authenticate
. Ниже приведен пример ответа об ошибке с информацией о пользователе: Если в процессе связывания возвращается ошибка 401 Unauthorized или любой другой неудачный ответ об ошибке, ошибка будет невосстановимой, полученный токен будет отброшен, и пользователю придется снова инициировать процесс связывания.HTTP/1.1 401 Unauthorized WWW-Authenticate: error="invalid_token", error_description="The Access Token expired"
Если токен доступа действителен, верните ответ HTTP 200 со следующим объектом JSON в теле ответа HTTPS:
Если ваша конечная точка userinfo возвращает успешный ответ HTTP 200, полученный токен и утверждения регистрируются в учетной записи Google пользователя.{ "sub": "USER_UUID", "email": "EMAIL_ADDRESS", "given_name": "FIRST_NAME", "family_name": "LAST_NAME", "name": "FULL_NAME", "picture": "PROFILE_PICTURE", }
ответ конечной точки с информацией о пользователе sub
Уникальный идентификатор, идентифицирующий пользователя в вашей системе. email
Адрес электронной почты пользователя. given_name
Необязательно: Имя пользователя. family_name
Необязательно: фамилия пользователя. name
Необязательно: Полное имя пользователя. picture
Необязательно: изображение профиля пользователя.
Проверка вашей реализации
You can validate your implementation by using the OAuth 2.0 Playground tool.
In the tool, do the following steps:
- Click Configuration to open the OAuth 2.0 Configuration window.
- In the OAuth flow field, select Client-side.
- In the OAuth Endpoints field, select Custom.
- Specify your OAuth 2.0 endpoint and the client ID you assigned to Google in the corresponding fields.
- In the Step 1 section, don't select any Google scopes. Instead, leave this field blank or type a scope valid for your server (or an arbitrary string if you don't use OAuth scopes). When you're done, click Authorize APIs.
- In the Step 2 and Step 3 sections, go through the OAuth 2.0 flow and verify that each step works as intended.
You can validate your implementation by using the Google Account Linking Demo tool.
In the tool, do the following steps:
- Click the Sign-in with Google button.
- Choose the account you'd like to link.
- Enter the service ID.
- Optionally enter one or more scopes that you will request access for.
- Click Start Demo.
- When prompted, confirm that you may consent and deny the linking request.
- Confirm that you are redirected to your platform.
Учетные записи связаны с использованием неявного отраслевого стандарта OAuth 2.0 и потоков кода авторизации . Ваш сервис должен поддерживать авторизацию и конечные точки обмена токенами , совместимые с OAuth 2.0.
В неявном потоке Google открывает конечную точку авторизации в браузере пользователя. После успешного входа вы возвращаете долгосрочный токен доступа в Google. Этот токен доступа теперь включается в каждый запрос, отправляемый от Google.
В потоке кода авторизации вам нужны две конечные точки:
Конечная точка авторизации , которая предоставляет пользовательский интерфейс входа пользователям, которые еще не вошли в систему. Конечная точка авторизации также создает кратковременный код авторизации для записи согласия пользователей на запрошенный доступ.
Конечная точка обмена токенами , которая отвечает за два типа обмена:
- Заменяет код авторизации на долгосрочный токен обновления и кратковременный токен доступа. Этот обмен происходит, когда пользователь проходит процедуру привязки учетной записи.
- Заменяет долгосрочный токен обновления на кратковременный токен доступа. Этот обмен происходит, когда Google нужен новый токен доступа, поскольку срок действия того, у которого истек срок действия.
Выберите поток OAuth 2.0.
Хотя неявный поток проще реализовать, Google рекомендует, чтобы токены доступа, выданные неявным потоком, никогда не истекали. Это связано с тем, что пользователь вынужден снова связать свою учетную запись после истечения срока действия токена с неявным потоком. Если вам необходим срок действия токена по соображениям безопасности, мы настоятельно рекомендуем вместо этого использовать поток кода авторизации .
Рекомендации по проектированию
В этом разделе описаны требования и рекомендации к дизайну пользовательского экрана, который вы размещаете для связывания потоков OAuth. После вызова приложения Google ваша платформа отображает пользователю страницу входа в систему и экран согласия привязки учетной записи. Пользователь перенаправляется обратно в приложение Google после того, как дает согласие на связывание учетных записей.
Требования
- Вы должны сообщить, что учетная запись пользователя будет связана с Google, а не с конкретным продуктом Google, таким как Google Home или Google Assistant.
Рекомендации
Мы рекомендуем вам сделать следующее:
Отобразите Политику конфиденциальности Google. Включите ссылку на Политику конфиденциальности Google на экране согласия.
Данные для обмена. Используйте ясный и краткий язык, чтобы сообщить пользователю, какие данные требуются Google и почему.
Четкий призыв к действию. Укажите четкий призыв к действию на экране согласия, например «Согласитесь и разместите ссылку». Это связано с тем, что пользователям необходимо понимать, какими данными они должны поделиться с Google, чтобы связать свои учетные записи.
Возможность отмены. Предоставьте пользователям возможность вернуться или отменить ссылку, если они решат не устанавливать ссылку.
Очистить процесс входа. Убедитесь, что у пользователей есть понятный способ входа в свою учетную запись Google, например поля для имени пользователя и пароля или «Войти через Google» .
Возможность отсоединиться. Предложите пользователям механизм отключения связи, например URL-адрес настроек их учетной записи на вашей платформе. Кроме того, вы можете добавить ссылку на учетную запись Google , где пользователи смогут управлять своей связанной учетной записью.
Возможность изменить учетную запись пользователя. Предложите пользователям способ переключения своих учетных записей. Это особенно полезно, если пользователи имеют несколько учетных записей.
- Если пользователю необходимо закрыть экран согласия для переключения учетных записей, отправьте в Google исправимую ошибку, чтобы пользователь мог войти в нужную учетную запись с помощью привязки OAuth и неявного потока.
Включите свой логотип. Отобразите логотип вашей компании на экране согласия. Используйте свои рекомендации по стилю для размещения логотипа. Если вы хотите также отображать логотип Google, см. раздел Логотипы и товарные знаки .
В неявном потоке Google открывает конечную точку авторизации в браузере пользователя. После успешного входа вы возвращаете долгосрочный токен доступа в Google. Этот токен доступа теперь включается в каждый запрос, отправляемый от Google.
В потоке кода авторизации вам нужны две конечные точки:
Конечная точка авторизации , которая предоставляет пользовательский интерфейс входа пользователям, которые еще не вошли в систему. Конечная точка авторизации также создает кратковременный код авторизации для записи согласия пользователей на запрошенный доступ.
Конечная точка обмена токенами , которая отвечает за два типа обмена:
- Заменяет код авторизации на долгосрочный токен обновления и кратковременный токен доступа. Этот обмен происходит, когда пользователь проходит процедуру привязки учетной записи.
- Заменяет долгосрочный токен обновления на кратковременный токен доступа. Этот обмен происходит, когда Google нужен новый токен доступа, поскольку срок действия того, у которого истек срок действия.
Выберите поток OAuth 2.0.
Хотя неявный поток проще реализовать, Google рекомендует, чтобы токены доступа, выданные неявным потоком, никогда не истекали. Это связано с тем, что пользователь вынужден снова связать свою учетную запись после истечения срока действия токена с неявным потоком. Если вам необходим срок действия токена по соображениям безопасности, мы настоятельно рекомендуем вместо этого использовать поток кода авторизации .
Рекомендации по проектированию
В этом разделе описаны требования и рекомендации к дизайну пользовательского экрана, который вы размещаете для связывания потоков OAuth. После вызова приложения Google ваша платформа отображает пользователю страницу входа в систему и экран согласия привязки учетной записи. Пользователь перенаправляется обратно в приложение Google после того, как дает согласие на связывание учетных записей.
Требования
- Вы должны сообщить, что учетная запись пользователя будет связана с Google, а не с конкретным продуктом Google, таким как Google Home или Google Assistant.
Рекомендации
Мы рекомендуем вам сделать следующее:
Отобразите Политику конфиденциальности Google. Включите ссылку на Политику конфиденциальности Google на экране согласия.
Данные для обмена. Используйте ясный и краткий язык, чтобы сообщить пользователю, какие данные требуются Google и почему.
Четкий призыв к действию. Укажите четкий призыв к действию на экране согласия, например «Согласитесь и разместите ссылку». Это связано с тем, что пользователям необходимо понимать, какими данными они должны поделиться с Google, чтобы связать свои учетные записи.
Возможность отмены. Предоставьте пользователям возможность вернуться или отменить ссылку, если они решат не устанавливать ссылку.
Очистить процесс входа. Убедитесь, что у пользователей есть понятный способ входа в свою учетную запись Google, например поля для имени пользователя и пароля или «Войти через Google» .
Возможность отсоединиться. Предложите пользователям механизм отключения связи, например URL-адрес настроек их учетной записи на вашей платформе. Кроме того, вы можете добавить ссылку на учетную запись Google , где пользователи смогут управлять своей связанной учетной записью.
Возможность изменить учетную запись пользователя. Предложите пользователям способ переключения своих учетных записей. Это особенно полезно, если пользователи имеют несколько учетных записей.
- Если пользователю необходимо закрыть экран согласия для переключения учетных записей, отправьте в Google исправимую ошибку, чтобы пользователь мог войти в нужную учетную запись с помощью привязки OAuth и неявного потока.
Включите свой логотип. Отобразите логотип вашей компании на экране согласия. Используйте свои рекомендации по стилю для размещения логотипа. Если вы хотите также отображать логотип Google, см. раздел Логотипы и товарные знаки .
В неявном потоке Google открывает конечную точку авторизации в браузере пользователя. После успешного входа вы возвращаете долгосрочный токен доступа в Google. Этот токен доступа теперь включается в каждый запрос, отправляемый от Google.
В потоке кода авторизации вам нужны две конечные точки:
Конечная точка авторизации , которая предоставляет пользовательский интерфейс входа пользователям, которые еще не вошли в систему. Конечная точка авторизации также создает кратковременный код авторизации для записи согласия пользователей на запрошенный доступ.
Конечная точка обмена токенами , которая отвечает за два типа обмена:
- Заменяет код авторизации на долгосрочный токен обновления и кратковременный токен доступа. Этот обмен происходит, когда пользователь проходит процедуру привязки учетной записи.
- Заменяет долгосрочный токен обновления на кратковременный токен доступа. Этот обмен происходит, когда Google нужен новый токен доступа, поскольку срок действия того, у которого истек срок действия.
Выберите поток OAuth 2.0.
Хотя неявный поток проще реализовать, Google рекомендует, чтобы токены доступа, выданные неявным потоком, никогда не истекали. Это связано с тем, что пользователь вынужден снова связать свою учетную запись после истечения срока действия токена с неявным потоком. Если вам необходим срок действия токена по соображениям безопасности, мы настоятельно рекомендуем вместо этого использовать поток кода авторизации .
Рекомендации по проектированию
В этом разделе описаны требования и рекомендации к дизайну пользовательского экрана, который вы размещаете для связывания потоков OAuth. После вызова приложения Google ваша платформа отображает пользователю страницу входа в систему и экран согласия привязки учетной записи. Пользователь перенаправляется обратно в приложение Google после того, как дает согласие на связывание учетных записей.
Требования
- Вы должны сообщить, что учетная запись пользователя будет связана с Google, а не с конкретным продуктом Google, таким как Google Home или Google Assistant.
Рекомендации
Мы рекомендуем вам сделать следующее:
Отобразите Политику конфиденциальности Google. Включите ссылку на Политику конфиденциальности Google на экране согласия.
Данные для обмена. Используйте ясный и краткий язык, чтобы сообщить пользователю, какие данные требуются Google и почему.
Четкий призыв к действию. Укажите четкий призыв к действию на экране согласия, например «Согласитесь и разместите ссылку». Это связано с тем, что пользователям необходимо понимать, какими данными они должны поделиться с Google, чтобы связать свои учетные записи.
Возможность отмены. Предоставьте пользователям возможность вернуться или отменить ссылку, если они решат не устанавливать ссылку.
Очистить процесс входа. Убедитесь, что у пользователей есть понятный способ входа в свою учетную запись Google, например поля для имени пользователя и пароля или «Войти через Google» .
Возможность отсоединиться. Предложите пользователям механизм отключения связи, например URL-адрес настроек их учетной записи на вашей платформе. Кроме того, вы можете добавить ссылку на учетную запись Google , где пользователи смогут управлять своей связанной учетной записью.
Возможность изменить учетную запись пользователя. Предложите пользователям способ переключения своих учетных записей. Это особенно полезно, если пользователи имеют несколько учетных записей.
- Если пользователю необходимо закрыть экран согласия для переключения учетных записей, отправьте в Google исправимую ошибку, чтобы пользователь мог войти в нужную учетную запись с помощью привязки OAuth и неявного потока.
Включите свой логотип. Отобразите логотип вашей компании на экране согласия. Используйте свои рекомендации по стилю для размещения логотипа. Если вы хотите также отображать логотип Google, см. раздел Логотипы и товарные знаки .
В неявном потоке Google открывает конечную точку авторизации в браузере пользователя. После успешного входа вы возвращаете долгосрочный токен доступа в Google. Этот токен доступа теперь включается в каждый запрос, отправляемый от Google.
В потоке кода авторизации вам нужны две конечные точки:
Конечная точка авторизации , которая предоставляет пользовательский интерфейс входа пользователям, которые еще не вошли в систему. Конечная точка авторизации также создает кратковременный код авторизации для записи согласия пользователей на запрошенный доступ.
Конечная точка обмена токенами , которая отвечает за два типа обмена:
- Заменяет код авторизации на долгосрочный токен обновления и кратковременный токен доступа. Этот обмен происходит, когда пользователь проходит процедуру привязки учетной записи.
- Заменяет долгосрочный токен обновления на кратковременный токен доступа. Этот обмен происходит, когда Google нужен новый токен доступа, поскольку срок действия того, у которого истек срок действия.
Выберите поток OAuth 2.0.
Хотя неявный поток проще реализовать, Google рекомендует, чтобы токены доступа, выданные неявным потоком, никогда не истекали. Это связано с тем, что пользователь вынужден снова связать свою учетную запись после истечения срока действия токена с неявным потоком. Если вам необходим срок действия токена по соображениям безопасности, мы настоятельно рекомендуем вместо этого использовать поток кода авторизации .
Рекомендации по проектированию
В этом разделе описаны требования и рекомендации к дизайну пользовательского экрана, который вы размещаете для связывания потоков OAuth. После вызова приложения Google ваша платформа отображает пользователю страницу входа в систему и экран согласия привязки учетной записи. Пользователь перенаправляется обратно в приложение Google после того, как дает согласие на связывание учетных записей.
Требования
- Вы должны сообщить, что учетная запись пользователя будет связана с Google, а не с конкретным продуктом Google, таким как Google Home или Google Assistant.
Рекомендации
Мы рекомендуем вам сделать следующее:
Отобразите Политику конфиденциальности Google. Включите ссылку на Политику конфиденциальности Google на экране согласия.
Данные для обмена. Используйте ясный и краткий язык, чтобы сообщить пользователю, какие данные требуются Google и почему.
Четкий призыв к действию. Укажите четкий призыв к действию на экране согласия, например «Согласитесь и разместите ссылку». Это связано с тем, что пользователям необходимо понимать, какими данными они должны поделиться с Google, чтобы связать свои учетные записи.
Возможность отмены. Предоставьте пользователям возможность вернуться или отменить ссылку, если они решат не устанавливать ссылку.
Очистить процесс входа. Убедитесь, что у пользователей есть понятный способ входа в свою учетную запись Google, например поля для имени пользователя и пароля или «Войти через Google» .
Возможность отсоединиться. Предложите пользователям механизм отключения связи, например URL-адрес настроек их учетной записи на вашей платформе. Кроме того, вы можете добавить ссылку на учетную запись Google , где пользователи смогут управлять своей связанной учетной записью.
Возможность изменить учетную запись пользователя. Предложите пользователям способ переключения своих учетных записей. Это особенно полезно, если пользователи имеют несколько учетных записей.
- Если пользователю необходимо закрыть экран согласия для переключения учетных записей, отправьте в Google исправимую ошибку, чтобы пользователь мог войти в нужную учетную запись с помощью привязки OAuth и неявного потока.
Включите свой логотип. Отобразите логотип вашей компании на экране согласия. Используйте свои рекомендации по стилю для размещения логотипа. Если вы хотите также отображать логотип Google, см. раздел Логотипы и товарные знаки .
Создать проект
Чтобы создать проект для использования привязки аккаунтов:
- Go to the Google API Console.
- Нажмите Создать проект .
- Введите имя или примите сгенерированное предложение.
- Подтвердите или отредактируйте оставшиеся поля.
- Нажмите Создать .
Для просмотра идентификатора вашего проекта:
- Go to the Google API Console.
- Найдите свой проект в таблице на целевой странице. Идентификатор проекта отображается в столбце идентификаторов .
Настройте экран согласия OAuth
Процесс связывания учетной записи Google включает в себя экран согласия, на котором пользователям сообщается, какое приложение запрашивает доступ к их данным, какие данные они запрашивают и какие условия применяются. Прежде чем создавать идентификатор клиента Google API, вам необходимо будет настроить экран согласия OAuth.
- Откройте страницу экрана согласия OAuth консоли API Google.
- При появлении запроса выберите только что созданный проект.
На странице «Экран согласия OAuth» заполните форму и нажмите кнопку «Сохранить».
Имя приложения: имя приложения, запрашивающего согласие. Имя должно точно отражать ваше приложение и соответствовать имени приложения, которое пользователи видят в других местах. Название приложения будет показано на экране согласия на привязку учетной записи.
Логотип приложения: изображение на экране согласия, которое поможет пользователям узнать ваше приложение. Логотип отображается на экране согласия на привязку учетной записи и в настройках учетной записи.
Электронная почта поддержки: чтобы пользователи могли связаться с вами и задать вопросы о своем согласии.
Области для API Google. Области позволяют вашему приложению получать доступ к личным данным Google вашего пользователя. Для варианта использования привязки учетной записи Google достаточно области по умолчанию (электронная почта, профиль, openid), вам не нужно добавлять какие-либо конфиденциальные области. Обычно рекомендуется запрашивать области постепенно, в тот момент, когда требуется доступ, а не заранее. Узнать больше .
Авторизованные домены. Чтобы защитить вас и ваших пользователей, Google разрешает использовать авторизованные домены только приложениям, которые проходят аутентификацию с помощью OAuth. Ссылки ваших приложений должны размещаться на авторизованных доменах. Узнать больше .
Ссылка на домашнюю страницу приложения: Домашняя страница вашего приложения. Должен быть размещен на авторизованном домене.
Ссылка на политику конфиденциальности приложения: отображается на экране согласия на привязку учетной записи Google. Должен быть размещен на авторизованном домене.
Ссылка на Условия использования приложения (необязательно): должна быть размещена в авторизованном домене.
Рисунок 1 . Экран согласия на привязку учетной записи Google к вымышленному приложению, Tunery
Проверьте «Статус проверки». Если ваше приложение требует проверки, нажмите кнопку «Отправить на проверку», чтобы отправить заявку на проверку. Подробную информацию см. в требованиях к проверке OAuth .
Создать проект
Чтобы создать проект для использования привязки аккаунтов:
- Go to the Google API Console.
- Нажмите Создать проект .
- Введите имя или примите сгенерированное предложение.
- Подтвердите или отредактируйте оставшиеся поля.
- Нажмите Создать .
Для просмотра идентификатора вашего проекта:
- Go to the Google API Console.
- Найдите свой проект в таблице на целевой странице. Идентификатор проекта отображается в столбце идентификаторов .
Настройте экран согласия OAuth
Процесс связывания учетной записи Google включает в себя экран согласия, на котором пользователям сообщается, какое приложение запрашивает доступ к их данным, какие данные они запрашивают и какие условия применяются. Прежде чем создавать идентификатор клиента Google API, вам необходимо будет настроить экран согласия OAuth.
- Откройте страницу экрана согласия OAuth консоли API Google.
- При появлении запроса выберите только что созданный проект.
На странице «Экран согласия OAuth» заполните форму и нажмите кнопку «Сохранить».
Имя приложения: имя приложения, запрашивающего согласие. Имя должно точно отражать ваше приложение и соответствовать имени приложения, которое пользователи видят в других местах. Название приложения будет показано на экране согласия на привязку учетной записи.
Логотип приложения: изображение на экране согласия, которое поможет пользователям узнать ваше приложение. Логотип отображается на экране согласия на привязку учетной записи и в настройках учетной записи.
Электронная почта поддержки: чтобы пользователи могли связаться с вами и задать вопросы о своем согласии.
Области для API Google. Области позволяют вашему приложению получать доступ к личным данным Google вашего пользователя. Для варианта использования привязки учетной записи Google достаточно области по умолчанию (электронная почта, профиль, openid), вам не нужно добавлять какие-либо конфиденциальные области. Обычно рекомендуется запрашивать области постепенно, в тот момент, когда требуется доступ, а не заранее. Узнать больше .
Авторизованные домены. Чтобы защитить вас и ваших пользователей, Google разрешает использовать авторизованные домены только приложениям, которые проходят аутентификацию с помощью OAuth. Ссылки ваших приложений должны размещаться на авторизованных доменах. Узнать больше .
Ссылка на домашнюю страницу приложения: Домашняя страница вашего приложения. Должен быть размещен на авторизованном домене.
Ссылка на политику конфиденциальности приложения: отображается на экране согласия на привязку учетной записи Google. Должен быть размещен на авторизованном домене.
Ссылка на Условия использования приложения (необязательно): должна быть размещена в авторизованном домене.
Рисунок 1 . Экран согласия на привязку учетной записи Google к вымышленному приложению, Tunery
Проверьте «Статус проверки». Если ваше приложение требует проверки, нажмите кнопку «Отправить на проверку», чтобы отправить заявку на проверку. Подробную информацию см. в требованиях к проверке OAuth .
Создать проект
Чтобы создать проект для использования привязки аккаунтов:
- Go to the Google API Console.
- Нажмите Создать проект .
- Введите имя или примите сгенерированное предложение.
- Подтвердите или отредактируйте оставшиеся поля.
- Нажмите Создать .
Для просмотра идентификатора вашего проекта:
- Go to the Google API Console.
- Найдите свой проект в таблице на целевой странице. Идентификатор проекта отображается в столбце идентификаторов .
Настройте экран согласия OAuth
Процесс связывания учетной записи Google включает в себя экран согласия, на котором пользователям сообщается, какое приложение запрашивает доступ к их данным, какие данные они запрашивают и какие условия применяются. Прежде чем создавать идентификатор клиента Google API, вам необходимо будет настроить экран согласия OAuth.
- Откройте страницу экрана согласия OAuth консоли API Google.
- При появлении запроса выберите только что созданный проект.
На странице «Экран согласия OAuth» заполните форму и нажмите кнопку «Сохранить».
Имя приложения: имя приложения, запрашивающего согласие. Имя должно точно отражать ваше приложение и соответствовать имени приложения, которое пользователи видят в других местах. Название приложения будет показано на экране согласия на привязку учетной записи.
Логотип приложения: изображение на экране согласия, которое поможет пользователям узнать ваше приложение. Логотип отображается на экране согласия на привязку учетной записи и в настройках учетной записи.
Электронная почта службы поддержки: чтобы пользователи могли связаться с вами и задать вопросы о своем согласии.
Области для API Google. Области позволяют вашему приложению получать доступ к личным данным Google вашего пользователя. Для варианта использования привязки учетной записи Google достаточно области по умолчанию (электронная почта, профиль, openid), вам не нужно добавлять какие-либо конфиденциальные области. Обычно рекомендуется запрашивать области постепенно, в тот момент, когда требуется доступ, а не заранее. Узнать больше .
Авторизованные домены. Чтобы защитить вас и ваших пользователей, Google разрешает использовать авторизованные домены только приложениям, которые проходят аутентификацию с помощью OAuth. Ссылки ваших приложений должны размещаться на авторизованных доменах. Узнать больше .
Ссылка на домашнюю страницу приложения: Домашняя страница вашего приложения. Должен быть размещен на авторизованном домене.
Ссылка на политику конфиденциальности приложения: отображается на экране согласия на привязку учетной записи Google. Должен быть размещен на авторизованном домене.
Ссылка на Условия использования приложения (необязательно): должна быть размещена в авторизованном домене.
Рисунок 1 . Экран согласия на привязку аккаунта Google к вымышленному приложению, Tunery
Проверьте «Статус проверки». Если ваше приложение требует проверки, нажмите кнопку «Отправить на проверку», чтобы отправить заявку на проверку. Подробную информацию см. в требованиях к проверке OAuth .
Создать проект
Чтобы создать проект для использования привязки аккаунтов:
- Go to the Google API Console.
- Нажмите Создать проект .
- Введите имя или примите сгенерированное предложение.
- Подтвердите или отредактируйте оставшиеся поля.
- Нажмите Создать .
Для просмотра идентификатора вашего проекта:
- Go to the Google API Console.
- Найдите свой проект в таблице на целевой странице. Идентификатор проекта отображается в столбце идентификаторов .
Настройте экран согласия OAuth
Процесс связывания учетной записи Google включает в себя экран согласия, на котором пользователям сообщается, какое приложение запрашивает доступ к их данным, какие данные они запрашивают и какие условия применяются. Прежде чем создавать идентификатор клиента Google API, вам необходимо будет настроить экран согласия OAuth.
- Откройте страницу экрана согласия OAuth консоли API Google.
- При появлении запроса выберите только что созданный проект.
На странице «Экран согласия OAuth» заполните форму и нажмите кнопку «Сохранить».
Имя приложения: имя приложения, запрашивающего согласие. Имя должно точно отражать ваше приложение и соответствовать имени приложения, которое пользователи видят в других местах. Название приложения будет показано на экране согласия на привязку учетной записи.
Логотип приложения: изображение на экране согласия, которое поможет пользователям узнать ваше приложение. Логотип отображается на экране согласия на привязку учетной записи и в настройках учетной записи.
Электронная почта поддержки: чтобы пользователи могли связаться с вами и задать вопросы о своем согласии.
Области для API Google. Области позволяют вашему приложению получать доступ к личным данным Google вашего пользователя. Для варианта использования привязки учетной записи Google достаточно области по умолчанию (электронная почта, профиль, openid), вам не нужно добавлять какие-либо конфиденциальные области. Обычно рекомендуется запрашивать области постепенно, в тот момент, когда требуется доступ, а не заранее. Узнать больше .
Авторизованные домены. Чтобы защитить вас и ваших пользователей, Google разрешает использовать авторизованные домены только приложениям, которые проходят аутентификацию с помощью OAuth. Ссылки ваших приложений должны размещаться на авторизованных доменах. Узнать больше .
Ссылка на домашнюю страницу приложения: Домашняя страница вашего приложения. Должен быть размещен на авторизованном домене.
Ссылка на политику конфиденциальности приложения: отображается на экране согласия на привязку учетной записи Google. Должен быть размещен на авторизованном домене.
Ссылка на Условия использования приложения (необязательно): должна быть размещена в авторизованном домене.
Рисунок 1 . Экран согласия на привязку аккаунта Google к вымышленному приложению, Tunery
Проверьте «Статус проверки». Если ваше приложение требует проверки, нажмите кнопку «Отправить на проверку», чтобы отправить заявку на проверку. Подробную информацию см. в требованиях к проверке OAuth .
Внедрите свой сервер OAuth
Для поддержки неявного потока OAuth 2.0 ваша служба предоставляет конечную точку авторизации по HTTPS. Эта конечная точка отвечает за аутентификацию и получение согласия пользователей на доступ к данным. Конечная точка авторизации предоставляет пользовательский интерфейс входа вашим пользователям, которые еще не вошли в систему, и записывает согласие на запрошенный доступ.
Когда приложению Google необходимо вызвать один из авторизованных API вашей службы, Google использует эту конечную точку, чтобы получить от ваших пользователей разрешение на вызов этих API от их имени.
Типичный сеанс неявного потока OAuth 2.0, инициированный Google, имеет следующий поток:
- Google открывает вашу конечную точку авторизации в браузере пользователя. Пользователь входит в систему, если он еще не вошел в систему, и предоставляет Google разрешение на доступ к своим данным с помощью вашего API, если он еще не предоставил разрешение.
- Ваш сервис создает токен доступа и возвращает его в Google. Для этого перенаправьте браузер пользователя обратно в Google с прикрепленным к запросу токеном доступа.
- Google вызывает API вашего сервиса и прикрепляет токен доступа к каждому запросу. Ваша служба проверяет, что токен доступа предоставляет Google авторизацию для доступа к API, а затем выполняет вызов API.
Обработка запросов на авторизацию
Когда приложению Google необходимо выполнить привязку учетной записи через неявный поток OAuth 2.0, Google отправляет пользователя в вашу конечную точку авторизации с запросом, который включает следующие параметры:
Параметры конечной точки авторизации | |
---|---|
client_id | Идентификатор клиента, который вы назначили Google. |
redirect_uri | URL-адрес, на который вы отправляете ответ на этот запрос. |
state | Бухгалтерское значение, которое передается обратно в Google без изменений в URI перенаправления. |
response_type | Тип значения, возвращаемого в ответе. Для неявного потока OAuth 2.0 тип ответа всегда — token . |
user_locale | Языковая настройка учетной записи Google в формате RFC5646, используемая для локализации вашего контента на предпочитаемом пользователем языке. |
Например, если ваша конечная точка авторизации доступна по адресу https://myservice.example.com/auth
, запрос может выглядеть следующим образом:
GET https://myservice.example.com/auth?client_id=GOOGLE_CLIENT_ID&redirect_uri=REDIRECT_URI&state=STATE_STRING&response_type=token&user_locale=LOCALE
Чтобы конечная точка авторизации могла обрабатывать запросы на вход, выполните следующие действия:
Проверьте значения
client_id
иredirect_uri
, чтобы предотвратить предоставление доступа непреднамеренным или неправильно настроенным клиентским приложениям:- Убедитесь, что
client_id
соответствует идентификатору клиента, который вы назначили Google. - Убедитесь, что URL-адрес, указанный параметром
redirect_uri
, имеет следующую форму:https://oauth-redirect.googleusercontent.com/r/YOUR_PROJECT_ID https://oauth-redirect-sandbox.googleusercontent.com/r/YOUR_PROJECT_ID
- Убедитесь, что
Проверьте, вошел ли пользователь в ваш сервис. Если пользователь не вошел в систему, завершите процедуру входа или регистрации в вашей службе.
Создайте токен доступа, который Google будет использовать для доступа к вашему API. Маркер доступа может быть любым строковым значением, но он должен однозначно представлять пользователя и клиента, для которого предназначен токен, и не должен быть угадываемым.
Отправьте HTTP-ответ, который перенаправляет браузер пользователя на URL-адрес, указанный параметром
redirect_uri
. Включите все следующие параметры во фрагмент URL:-
access_token
: токен доступа, который вы только что сгенерировали. -
token_type
:bearer
строки -
state
: немодифицированное значение состояния из исходного запроса.
Ниже приведен пример результирующего URL-адреса:
https://oauth-redirect.googleusercontent.com/r/YOUR_PROJECT_ID#access_token=ACCESS_TOKEN&token_type=bearer&state=STATE_STRING
-
Обработчик перенаправления Google OAuth 2.0 получает токен доступа и подтверждает, что значение state
не изменилось. После того как Google получил токен доступа к вашей службе, Google прикрепляет этот токен к последующим вызовам API вашей службы.
Обработка запросов информации о пользователях
Конечная точка userinfo — это ресурс, защищенный OAuth 2.0, который возвращает утверждения о связанном пользователе. Реализация и размещение конечной точки userinfo не является обязательной, за исключением следующих случаев использования:
- Вход в связанную учетную запись с помощью Google One Tap.
- Простая подписка на AndroidTV.
После того как токен доступа был успешно получен из конечной точки вашего токена, Google отправляет запрос в конечную точку информации о пользователе, чтобы получить основную информацию профиля связанного пользователя.
заголовки запроса конечной точки userinfo | |
---|---|
Authorization header | Токен доступа типа Bearer. |
Например, если ваша конечная точка userinfo доступна по адресу https://myservice.example.com/userinfo
, запрос может выглядеть следующим образом:
GET /userinfo HTTP/1.1 Host: myservice.example.com Authorization: Bearer ACCESS_TOKEN
Чтобы ваша конечная точка userinfo могла обрабатывать запросы, выполните следующие действия:
- Извлеките токен доступа из заголовка авторизации и верните информацию для пользователя, связанного с токеном доступа.
- Если токен доступа недействителен, верните ошибку HTTP 401 Unauthorized с использованием заголовка ответа
WWW-Authenticate
. Ниже приведен пример ответа об ошибке с информацией о пользователе: Если в процессе связывания возвращается ошибка 401 Unauthorized или любой другой неудачный ответ об ошибке, ошибка будет невосстановимой, полученный токен будет отброшен, и пользователю придется снова инициировать процесс связывания.HTTP/1.1 401 Unauthorized WWW-Authenticate: error="invalid_token", error_description="The Access Token expired"
Если токен доступа действителен, верните ответ HTTP 200 со следующим объектом JSON в теле ответа HTTPS:
Если ваша конечная точка userinfo возвращает успешный ответ HTTP 200, полученный токен и утверждения регистрируются в учетной записи Google пользователя.{ "sub": "USER_UUID", "email": "EMAIL_ADDRESS", "given_name": "FIRST_NAME", "family_name": "LAST_NAME", "name": "FULL_NAME", "picture": "PROFILE_PICTURE", }
ответ конечной точки с информацией о пользователе sub
Уникальный идентификатор, идентифицирующий пользователя в вашей системе. email
Адрес электронной почты пользователя. given_name
Необязательно: Имя пользователя. family_name
Необязательно: фамилия пользователя. name
Необязательно: Полное имя пользователя. picture
Необязательно: изображение профиля пользователя.
Проверка вашей реализации
You can validate your implementation by using the OAuth 2.0 Playground tool.
In the tool, do the following steps:
- Click Configuration to open the OAuth 2.0 Configuration window.
- In the OAuth flow field, select Client-side.
- In the OAuth Endpoints field, select Custom.
- Specify your OAuth 2.0 endpoint and the client ID you assigned to Google in the corresponding fields.
- In the Step 1 section, don't select any Google scopes. Instead, leave this field blank or type a scope valid for your server (or an arbitrary string if you don't use OAuth scopes). When you're done, click Authorize APIs.
- In the Step 2 and Step 3 sections, go through the OAuth 2.0 flow and verify that each step works as intended.
You can validate your implementation by using the Google Account Linking Demo tool.
In the tool, do the following steps:
- Click the Sign-in with Google button.
- Choose the account you'd like to link.
- Enter the service ID.
- Optionally enter one or more scopes that you will request access for.
- Click Start Demo.
- When prompted, confirm that you may consent and deny the linking request.
- Confirm that you are redirected to your platform.