Социальные сети
Социальный вход позволяет игроку использовать Google, Steam, Discord, VK или Telegram. Если у аккаунта включена 2FA, второй фактор остается обязательным.
Добавление провайдера
- Создайте OAuth-приложение в кабинете выбранного провайдера.
- Откройте Настройки -> Соц. провайдеры.
- Нажмите Добавить соц. провайдер.
- Выберите проект и тип провайдера.
- Укажите Client ID, Client Secret и Callback URL.
- Включите провайдера и сохраните форму.
Для Google в основном окружении MMO-DEV WEB callback имеет вид:
https://api.mmo-web.dev/auth/social/google/callback
Telegram
Для игроков используйте отдельного бота проекта.
- Откройте своего бота в мини-приложении @BotFather -> Login Widget.
- Добавьте Callback URL в Allowed URLs. Для основного окружения это
https://api.mmo-web.dev/auth/social/telegram/callback. - Скопируйте показанные Client ID и Client Secret в настройки провайдера Telegram выбранного проекта. Токен Bot API не заменяет Client Secret.
- Оставьте алгоритм подписи RS256 в Login Widget -> Advanced.
- Включите провайдера и сохраните настройки.
Названия полей в BotFather приведены в руководстве Telegram.
Редактирование провайдера
Откройте провайдера из списка, чтобы заменить учетные данные, изменить callback или временно отключить вход через него.
Куда возвращается игрок
Провайдер сначала возвращает браузер на api.mmo-web.dev. Затем игрок автоматически перенаправляется с одноразовым кодом входа на адрес своего проекта:
https://site-project.tld/auth/social-callback?code=...
Поэтому в настройках OAuth-приложения указывается домен API MMO-DEV WEB, а не адрес админ-панели и не прямой callback клиентского сайта.
Включение в проекте
Откройте проект, перейдите на вкладку Кабинет и включите социальный способ входа. После сохранения загрузите обновленные настройки на клиентский сайт.
Проверка
- Войдите в существующий аккаунт игрока и откройте Настройки.
- Для Telegram на вкладке Настройки найдите блок Telegram, нажмите Привязать, затем Продолжить в Telegram. Остальные социальные сети подключаются на вкладке Безопасность. Если запрошен PIN, введите его.
- Подтвердите подключение у провайдера и дождитесь возвращения в настройки с сообщением об успешной привязке.
- В приватном окне проверьте вход через уже привязанный профиль и запрос 2FA, если она включена.
При отмене или истечении времени подтверждения начните привязку заново. Чтобы заменить Telegram-аккаунт, сначала отвяжите предыдущий. Отключённый провайдер не предлагается для новой привязки.