Web3Auth Інтеграція
Web3Auth вирішує одну з головних проблем Web3 onboarding: користувачам не потрібно зберігати seed phrase або встановлювати MetaMask. Замість цього — вхід через Google, Apple, Twitter, email. Під капотом ключі генеруються та розділяються через threshold cryptography (MPC/TSS), так що ні користувач, ні Web3Auth не тримають повний ключ.
Інтеграція актуальна для застосунків де цільова аудиторія — не crypto-native користувачі.
Як це працює
Web3Auth використовує distributed key generation. При першому вході через OAuth генерується ключова пара. Приватний ключ розділяється на shares через Shamir Secret Sharing: одна частина зберігається у Web3Auth nodes (tKey), інша — в браузері користувача (deviceShare), третя — опціонально backup (наприклад, зашифрована паролем).
Для відновлення доступу потрібні мінімум 2 з 3 shares. Втратив пристрій — відновлюєш через OAuth + backup. Web3Auth ніколи не має всі частини одночасно.
Швидка інтеграція
import { Web3Auth } from '@web3auth/modal'
import { CHAIN_NAMESPACES } from '@web3auth/base'
const web3auth = new Web3Auth({
clientId: 'YOUR_CLIENT_ID', // з Web3Auth Dashboard
chainConfig: {
chainNamespace: CHAIN_NAMESPACES.EIP155,
chainId: '0x1',
rpcTarget: 'https://rpc.ankr.com/eth'
}
})
await web3auth.initModal()
// Вхід — показує модал з Google/Twitter/Email
const provider = await web3auth.connect()
// Стандартний EIP-1193 provider
const ethersProvider = new ethers.BrowserProvider(provider)
const signer = await ethersProvider.getSigner()
Web3Auth повертає EIP-1193 сумісний provider — працює з будь-яким існуючим кодом, який очікує стандартний wallet provider. Мінімальні зміни у існуючому коді.
Кастомізація та White-Label
Для production застосунку зазвичай потрібен white-label варіант — свій UI без Web3Auth брендингу. Web3Auth No Modal SDK дозволяє повністю контролювати UI:
import { Web3AuthNoModal } from '@web3auth/no-modal'
import { OpenloginAdapter } from '@web3auth/openlogin-adapter'
const web3auth = new Web3AuthNoModal({ clientId, chainConfig })
const openloginAdapter = new OpenloginAdapter({
adapterSettings: {
uxMode: 'redirect', // або 'popup'
whiteLabel: {
appName: 'My App',
logoLight: 'https://example.com/logo.png',
defaultLanguage: 'uk'
}
}
})
web3auth.configureAdapter(openloginAdapter)
await web3auth.init()
// Конкретний провайдер авторизації
await web3auth.connectTo('openlogin', { loginProvider: 'google' })
Графік
Базова інтеграція з готовим модалом: 1–2 дні. White-label з кастомним UI, кількома OAuth провайдерами, інтеграцією з існуючою auth системою: 1–2 тиж. Web3Auth добре документований, SDK зрілий.







