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

Інтеграція Web3Auth для соціального логіну в мобільному криптододатку Клієнти часто приходять із запитом: «Хочемо, щоб користувачі заходили в додаток через Google, але при цьому отримували справжній некастодіальний гаманець». Seed-фраза — найслабша ланка: користувачі її втрачають, забувають, не з

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Інтеграція Web3Auth для соціального логіну в мобільному криптододатку
Середній
~2-3 дні

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

Часті запитання

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    897
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    784
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1219
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    1081
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    1004
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    600

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

Клієнти часто приходять із запитом: «Хочемо, щоб користувачі заходили в додаток через Google, але при цьому отримували справжній некастодіальний гаманець». Seed-фраза — найслабша ланка: користувачі її втрачають, забувають, не записують. Ми пропонуємо інтеграцію Web3Auth — розподілене зберігання ключів через Multi-Party Computation, яке усуває цей бар'єр, не жертвуючи безпекою. За нашими плечима понад 5 років досвіду в блокчейн-розробці та 20+ впроваджень MPC-рішень.

Web3Auth вирішує класичну проблему крипто-onboarding'у: користувач хоче увійти через Google або Apple ID, але при цьому отримати некастодіальний гаманець. Seed-фразу ніхто не запам'ятовує — її втрачають. Web3Auth розподіляє частини ключа через MPC, не вимагаючи від користувача зберігати мнемоніку.

Як працює архітектура ключів

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

Користувач втрачає пристрій → логіниться через Google на новому → ключ відновлюється. Жодної seed-фрази. Але важливо розуміти: це не повністю некастодіальне рішення — Torus Network тримає одну з частин.

Чому Web3Auth безпечніший за seed-фразу?

Seed-фраза — єдина точка відмови: один скомпрометований файл або фішингова сторінка дають зловмиснику повний доступ. У MPC-моделі Web3Auth зловмиснику потрібно одночасно скомпрометувати два з трьох сховищ (пристрій, iCloud, Torus). Порогова схема ECDSA гарантує, що жоден вузол Torus не може підписати транзакцію поодинці. Крім того, приватний ключ реконструюється лише в пам'яті пристрою і не зберігається на диск — це знижує ризик при компрометації ОС.

Як інтегрувати Web3Auth з підтримкою MFA?

Web3Auth дозволяє задати рівень MFA при логіні. Параметр mfaLevel приймає значення "optional", "mandatory" або "off". При "mandatory" користувач після першого входу через Google буде змушений налаштувати другий фактор (наприклад, резервний пристрій або біометрію). Для криптододатків з реальними активами ми рекомендуємо "optional" — користувач може пропустити налаштування зараз, але ми нагадуємо про нього через push-сповіщення.

Інтеграція 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:).

Порівняння методів входу в криптогаманець

Метод Зручність для користувача Безпека Відновлення доступу
Seed-фраза (12/24 слів) Низька (потрібен запис) Залежить від зберігання Можливе з seed-фразою
Web3Auth (Google/Apple) Висока (1 клік) MPC, 2-of-3, ключ у пам'яті Автоматичне через соцлогін
Апаратний гаманець (Ledger) Низька (пристрій) Максимальна (офлайн) Потрібна сид-фраза або новий девайс

Що входить в інтеграцію

Ми виконуємо інтеграцію Web3Auth під ключ. До складу робіт входить:

  • Створення Custom Verifier у Web3Auth Dashboard для Google та Apple
  • Налаштування OAuth-клієнтів у Google Cloud Console та Apple Developer
  • Інтеграція SDK у React Native / iOS / Android
  • Конфігурація Deep Link та Universal Link
  • Тестування на обох оточеннях (dev/prod) з різними Client ID
  • Налаштування MFA (optional/mandatory) та білінгових систем (StoreKit 2 / Billing 6)
  • Документація по експлуатації та навчання вашої команди
  • Підтримка протягом 30 днів після здачі

Що може піти не так

Найчастіша проблема — 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 тижнів. Оцінимо ваш проект безкоштовно — зв'яжіться з нами, щоб обговорити деталі.