Интеграция Web3Auth для социального логина в мобильном криптоприложении

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Услуги, которые мы предлагаем
Показано 1 из 1Все 1735 услуг
Интеграция Web3Auth для социального логина в мобильном криптоприложении
Средний
~2-3 дня
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    495

Интеграция Web3Auth для социального логина в мобильном криптоприложении

Web3Auth решает классическую проблему крипто-onboarding'а: пользователь хочет войти через Google или Apple ID, но при этом получить некастодиальный кошелёк. Seed-фразу никто не запоминает — её теряют. Web3Auth распределяет части ключа через MPC (Multi-Party Computation), не требуя от пользователя хранить мнемонику.

Как работает архитектура ключей

Web3Auth разделяет приватный ключ на части через протокол tKey (threshold key). При логине через Google часть ключа хранится в сети узлов Torus Network, часть — на устройстве пользователя, часть — в облачном бэкапе (iCloud / Google Drive). Для восстановления нужны минимум 2 из 3 частей — схема 2-of-3.

Пользователь теряет устройство → логинится через Google на новом → ключ восстанавливается. Никакой seed-фразы. Но важно понимать: это не полностью некастодиальное решение — Torus Network держит одну из частей.

Интеграция SDK

Web3Auth предоставляет web3auth-react-native-sdk для React Native и нативные обёртки для iOS/Android.

// React Native
import { Web3Auth, LOGIN_PROVIDER } from "@web3auth/react-native-sdk";

const web3auth = new Web3Auth(WebBrowser, {
  clientId: "YOUR_CLIENT_ID",
  network: "mainnet",
  redirectUrl: "your-app-scheme://auth",
  loginConfig: {
    google: {
      verifier: "your-google-verifier",
      typeOfLogin: LOGIN_PROVIDER.GOOGLE,
      clientId: "YOUR_GOOGLE_CLIENT_ID",
    },
  },
});

const login = async () => {
  const state = await web3auth.login({
    loginProvider: LOGIN_PROVIDER.GOOGLE,
    mfaLevel: "optional",
  });
  const privateKey = web3auth.privKey; // hex-строка
  // Создаём кошелёк из приватного ключа
  const wallet = new ethers.Wallet(privateKey);
};

После получения privKey создаём кошелёк через ethers.js или viem. Приватный ключ не хранится на устройстве напрямую — он реконструируется при каждой сессии и живёт только в памяти.

Настройка Verifier в Dashboard

Перед интеграцией нужно создать Custom Verifier в Web3Auth Dashboard. Для Google — OAuth 2.0 Client ID из Google Cloud Console, verifier name. Для Apple Sign In — дополнительная настройка через JWT-верификатор, потому что Apple использует нестандартный OIDC.

Deep Link / Universal Link настраивается для redirect после OAuth. На Android — Intent Filter в AndroidManifest.xml:

<intent-filter android:autoVerify="true">
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="yourapp" android:host="auth" />
</intent-filter>

На iOS — URL Scheme в Info.plist + обработка в AppDelegate.application(_:open:options:).

Что может пойти не так

Самая частая проблема — redirect_uri_mismatch. OAuth-провайдер (Google, Apple) отклоняет redirect на URL схему приложения, если он не добавлен в список разрешённых в консоли провайдера. Проверить нужно оба окружения: development и production — у них разные Client ID и разные redirect URI.

Второй момент — mfaLevel. Web3Auth поддерживает опциональный второй фактор через устройство. Если mfaLevel = "mandatory", пользователь будет вынужден настроить резервное устройство при первом логине. Для крипто-приложений с реальными активами — рекомендуем "optional" с последующим prompting.

Интеграция Web3Auth с социальным логином (Google + Apple) — 1-3 недели. Стоимость рассчитывается индивидуально.