Вход через Google, Facebook и Telegram
Где взять ключи в кабинете каждого сервиса, куда их вставить в магазине и почему кнопка может не появиться.
На этой странице
Покупатель может войти в магазин через Google, Facebook или Telegram — одной кнопкой, без пароля. Кнопки появляются в окне входа и на странице входа, как только вы включили сервис и вставили его ключи.
Ключи вы получаете в кабинете самого сервиса: это бесплатно и занимает 10–15 минут. Ниже — по шагам для каждого сервиса.
Где вставлять ключи
«Витрины и контент» → «Витрины» → ваша витрина → вкладка «Регистрация и вход» → блок «Вход через сервисы».
У каждого сервиса там три вещи:
- переключатель — показывать ли кнопку на витрине;
- поля для ключей — сюда вы вставляете то, что выдал сервис;
- адрес возврата с кнопкой «Скопировать» — его вы вставляете в кабинет сервиса. По этому адресу сервис возвращает покупателя в магазин после входа.
Адрес возврата выглядит так: https://ваш-магазин.com/account/social/google/callback.
Копируйте его кнопкой, а не набирайте руками: сервис сверяет адрес посимвольно,
и лишняя косая черта или /uk/ в начале приведут к отказу.
Вход через сервисы работает только на настоящем домене с
https. На тестовом адресе вродеshop.localGoogle и Telegram покупателя не пропустят.
- Откройте Google Cloud Console и войдите своей почтой Google. Вверху выберите проект или создайте новый — например, «Магазин».
- Откройте «APIs & Services» → «OAuth consent screen» (экран согласия). Тип пользователей — External. Заполните название магазина, почту для связи и логотип, если хотите. Сохраните.
- На том же экране нажмите «Publish app». Пока приложение не опубликовано, войти смогут только адреса, которые вы вручную добавили в тестовые.
- Откройте «APIs & Services» → «Credentials» → «Create credentials» → «OAuth client ID». Тип приложения — Web application.
- В поле «Authorized redirect URIs» нажмите «Add URI» и вставьте адрес возврата из блока Google в магазине.
- Нажмите «Create». Google покажет Client ID и Client secret.
- В магазине, в блоке Google: Client ID вставьте в поле «Идентификатор приложения», Client secret — в «Секретный ключ». Включите переключатель и сохраните витрину.
Google передаёт магазину имя и подтверждённую почту покупателя. Телефона у Google нет — его магазин спросит при оформлении заказа.
- Откройте Meta for Developers и войдите своим аккаунтом Facebook. Если вы здесь впервые, Meta попросит зарегистрироваться как разработчик — это бесплатно.
- «Мои приложения» → «Создать приложение». В выборе сценария отметьте вход через Facebook (аутентификация пользователей). Назовите приложение так же, как магазин.
- В приложении откройте настройки «Вход через Facebook» и в поле «Действительные URI перенаправления для OAuth» вставьте адрес возврата из блока Facebook в магазине. Сохраните.
- Откройте «Настройки приложения» → «Основное». Укажите ссылку на политику конфиденциальности магазина — без неё Meta не опубликует приложение.
- Там же возьмите ID приложения и Секрет приложения (нажмите «Показать»).
- Переведите приложение в режим «Опубликовано» (Live). В режиме разработки войти смогут только вы и люди, которых вы добавили в приложение.
- В магазине, в блоке Facebook: ID приложения вставьте в «Идентификатор приложения», Секрет приложения — в «Секретный ключ». Включите переключатель и сохраните витрину.
Facebook передаёт имя и почту, если покупатель разрешил её показывать. Почту, которую Facebook не подтвердил, магазин не использует для входа в уже существующий кабинет — это защита от чужих аккаунтов.
Telegram
Вход через Telegram работает через дополнение «Telegram: бот»: сначала установите его и подключите бота магазина токеном из BotFather. Ключи для входа — это не токен бота, а отдельная пара.
- В Telegram откройте @BotFather и выберите бота
магазина:
/mybots→ ваш бот. - Bot Settings → Web Login → OpenID Connect Login. Переключение необратимое: этот бот будет пускать людей в магазин по стандарту OpenID.
- Укажите домен магазина и адрес возврата из блока Telegram в магазине, если BotFather их спросит.
- BotFather выдаст Client ID (число) и секретный ключ.
- В магазине, в блоке Telegram: Client ID — в «Идентификатор бота», ключ — в «Секретный ключ входа». Включите переключатель и сохраните витрину.
Отметка «Просить номер телефона» попросит Telegram показать покупателю вопрос, готов ли он поделиться номером. Отказ входу не мешает, а согласие сразу заполняет телефон в кабинете.
Телефон после входа через сервис
Соцсети не передают телефон, а магазину он нужен для доставки. По умолчанию магазин спрашивает его при оформлении заказа и сам сохраняет в кабинет. Если хотите спрашивать сразу после входа, включите в том же блоке «Просить телефон сразу после входа».
Если кнопка не появилась
- Переключатель выключен или не заполнено одно из полей ключей — под блоком сервиса тогда видна строка «Ключи не заполнены».
- Витрина не сохранена после вставки ключей.
- Сервис отвечает «redirect_uri_mismatch» или «URL заблокирован» — адрес возврата в кабинете сервиса не совпал с адресом из магазина. Скопируйте его ещё раз кнопкой и вставьте целиком.
- Google пишет «доступ заблокирован» всем, кроме вас — приложение не опубликовано (шаг 3 в разделе Google).