Пакет Starter бесплатный: 0 € в месяц и 30 минут, чтобы попробовать его на реальных звонках.Пакет Starter бесплатный. Начать бесплатно

Документация / Руководства

Пошаговое руководство по входу через Google и Apple

Как создать OAuth-клиент Google, а также Services ID и ключ Apple, которые требует вход на вашем домене, клик за кликом.

Последнее обновление:

Это руководство для администратора аккаунта с white-label. Оно показывает, что нужно создать в Google и в Apple, чтобы ваши клиенты могли пользоваться кнопками Продолжить с Google и Продолжить с Apple на вашем собственном домене. Каждую часть вы делаете один раз. Перейдите ниже к разделу Google или Apple и закончите в Настройки > Вход на вашем домене.

Обоим провайдерам от вас нужны два адреса. Настройки > Вход на вашем домене показывает их для вашего домена, у каждого есть кнопка копирования: всегда копируйте их оттуда и вставляйте, никогда не набирайте вручную, потому что одного неверного символа достаточно, чтобы провайдер отклонил вход. Они выглядят так, только для ориентира:

  • JavaScript origin: ваш домен с https впереди и ничего после него (без пути, без завершающего слеша)
  • Адрес возврата Google (redirect URI): <your domain>/gorouter/ai/wl/oauth/google/callback
  • Адрес возврата Apple (Return URL): <your domain>/gorouter/ai/wl/oauth/apple/callback

Google и Apple время от времени переименовывают свои меню. Если название ниже не совпадает с тем, что вы видите, ищите самое близкое: шаги остаются теми же.

Google#

Вам нужна учётная запись Google, которую вы контролируете. Базовый вход, который здесь используется, запрашивает только имя, адрес электронной почты и фото профиля клиента (scopes openid, email и profile) и ничего больше.

1. Войдите и выберите проект#

  1. Откройте Google Cloud Console (console.cloud.google.com) и войдите под своей учётной записью Google.
  2. В выборе проекта в верхней панели выберите проект или нажмите New project, задайте имя и создайте его. Убедитесь, что выбран именно этот проект, прежде чем продолжить.

2. Настройте экран согласия#

Это экран, который Google показывает вашим клиентам. Он находится в Google Auth Platform.

  1. Откройте Google Auth Platform и нажмите Get started.
  2. App information: укажите название приложения, которое узнают ваши клиенты (ваш собственный бренд, а не наш), и адрес электронной почты поддержки.
  3. Audience: выберите External. Internal пускает только учётные записи вашей собственной организации Google Workspace, что не подходит для клиентов.
  4. Contact information: укажите адрес электронной почты, на который Google может писать вам по проекту.
  5. Примите политику по данным пользователей и нажмите Create.

3. Добавьте тестовых пользователей или опубликуйте приложение#

Новое приложение начинает в статусе Testing. В нём Google ограничивает вход адресами, которые вы перечислили, не более 100.

  • Чтобы их перечислить, откройте Audience, найдите Test users и добавьте каждый адрес Google, с которого будут входить. Сделайте это для себя и для всех, кто пробует вход до публикации.
  • Чтобы войти мог любой клиент, опубликуйте приложение: в Audience переведите статус публикации с Testing на In production кнопкой публикации. Поскольку этот вход использует только базовые scopes openid, email и profile, Google не требует проверки ваших scopes и не показывает клиентам предупреждение о «непроверенном приложении». Google всё же может попросить подтвердить ваш бренд, прежде чем покажет название и логотип приложения на экране согласия: об этом скажет Verification Center в Google Auth Platform.

4. Создайте клиент#

  1. В Google Auth Platform откройте Clients и нажмите Create client.
  2. В поле Application type выберите Web application и задайте имя.
  3. В Authorized JavaScript origins нажмите Add URI и вставьте JavaScript origin, скопированный из Настройки > Вход на вашем домене.
  4. В Authorized redirect URIs нажмите Add URI и вставьте адрес возврата Google, скопированный оттуда же.
  5. Нажмите Create.

5. Скопируйте Client ID и Client secret#

Теперь Google показывает Client ID и Client secret. Скопируйте оба сразу. Для нового клиента Google показывает secret только в этот момент, а потом хранит лишь его последние четыре символа. Если вы его потеряете, создайте новый secret на странице клиента.

6. Закончите в настройках#

В Настройки > Вход на вашем домене вставьте Client ID и Client secret в раздел Google, включите Google и сохраните.

Если Google отказывает#

  • Консоль не принимает адрес возврата из-за его домена: откройте Branding, найдите Authorized domains и добавьте свой домен, затем добавьте адрес снова.
  • redirect_uri_mismatch сразу после создания клиента: Google может применять изменение от нескольких минут до нескольких часов. Подождите и попробуйте снова. Если ошибка остаётся, сравните адрес в клиенте с адресом в настройках символ за символом.
  • Доступ заблокирован только для одного человека: если приложение всё ещё в статусе Testing, добавьте его адрес в Test users или опубликуйте приложение.

Apple#

Нужно платное членство в Apple Developer Program: без него Apple не даст создать эти элементы. Все шаги ниже выполняются в вашей учётной записи Apple Developer (developer.apple.com/account), в разделе Certificates, Identifiers & Profiles.

1. App ID с Sign in with Apple#

Apple связывает сайт с App ID. Если в вашей учётной записи уже есть App ID с включённым Sign in with Apple, используйте его и переходите к следующему шагу. Иначе:

  1. Откройте Identifiers и нажмите кнопку добавления (+).
  2. Выберите App IDs, затем тип App и продолжайте.
  3. Введите описание и bundle ID на свой выбор, например вида com.yourcompany.signin.
  4. В списке capabilities отметьте Sign in with Apple, затем продолжайте и зарегистрируйте.

2. Создайте Services ID#

  1. В Identifiers нажмите кнопку добавления (+), выберите Services IDs и продолжайте.
  2. Введите описание и идентификатор на свой выбор, например com.yourcompany.signin.web. Этот идентификатор и есть ваш Services ID: запишите его.
  3. Продолжайте и зарегистрируйте, затем откройте новый Services ID в списке.
  4. Отметьте Sign in with Apple и нажмите Configure.
  5. В качестве Primary App ID выберите App ID из предыдущего шага.
  6. В URL сайта добавьте свой домен в Domains and Subdomains, без префикса https, например app.yourcompany.com.
  7. В Return URLs вставьте адрес возврата Apple, скопированный из Настройки > Вход на вашем домене.
  8. Нажмите Done, затем Continue, затем Save.

3. Создайте ключ#

  1. Откройте Keys и нажмите кнопку добавления (+).
  2. Введите имя ключа, отметьте Sign in with Apple и нажмите рядом Configure.
  3. Выберите тот же primary App ID и сохраните.
  4. Продолжайте и зарегистрируйте ключ.
  5. Нажмите Download и сохраните файл с расширением .p8. Apple позволяет скачать его только один раз. У primary App ID может быть не больше двух ключей.
  6. Запишите Key ID, показанный для ключа.

4. Найдите Team ID#

Откройте Membership details в своей учётной записи разработчика. Там указан Team ID, десять символов.

5. Закончите в настройках#

В Настройки > Вход на вашем домене укажите в разделе Apple Services ID, Team ID и Key ID, загрузите файл .p8, включите Apple и сохраните.

Полезно знать#

  • Apple передаёт имя клиента только при первом входе, позже уже нет.
  • Клиент может скрыть свой email. Тогда Apple выдаёт частный адрес пересылки, который пересылает письма на настоящий.
  • Чтобы ваши письма доходили до таких адресов пересылки, зарегистрируйте домен или адрес, с которого вы отправляете, в Sign in with Apple for Email Communication: в Certificates, Identifiers & Profiles откройте Services, нажмите рядом Configure и добавьте его в Email Sources. Опубликуйте также запись SPF для этого домена, как просит Apple.
  • Если Apple отклоняет вход, проверьте, что домен и адрес возврата в Services ID в точности такие, как показаны в настройках, и что ключ не отозван.

Когда всё готово#

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

Консоль

Эти страницы доступны только для чтения. Тестовый звонок, ключи API и актуальный справочник API находятся в консоли, где выполнен вход в ваш аккаунт.

Открыть консоль