Интеграция Magic Link для входа без пароля в криптоприложении

Пользователь получил magic link, тапнул — и ссылка открылась в браузере вместо приложения. На Android 12+ это происходит в 30% случаев из-за ошибки в Intent Filter. На iOS — если не настроен Universal Link, Safari откроет fallback URL. Результат — пользователь теряется, конверсия падает. Мы делали б

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

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

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

Услуги, которые мы предлагаем
Показано 1 из 1Все 1734 услуг
Интеграция Magic Link для входа без пароля в криптоприложении
Средний
от 1 дня до 3 дней

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

Часто задаваемые вопросы

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

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    898
  • 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

Пользователь получил magic link, тапнул — и ссылка открылась в браузере вместо приложения. На Android 12+ это происходит в 30% случаев из-за ошибки в Intent Filter. На iOS — если не настроен Universal Link, Safari откроет fallback URL. Результат — пользователь теряется, конверсия падает. Мы делали более 15 интеграций Magic в iOS/Android-приложения для криптокошельков и DeFi-сервисов. Ниже — проверенная схема, которая гарантированно решает проблему deep link.

Почему Magic Link вместо паролей?

Magic SDK совмещает passwordless email-аутентификацию с созданием некастодиального кошелька. Пользователь вводит email, получает magic link, тапает — и сразу авторизован с готовым Ethereum-адресом. Без seed-фраз, без пароля. Онboarding занимает 10 секунд против 5 минут при ручном создании кошелька. Согласно документации Magic, время от отправки письма до открытия сессии в приложении — менее 2 секунд.Magic SDK Documentation

Как Magic SDK управляет приватным ключом?

Magic использует собственные HSM (Hardware Security Modules) для хранения частей приватного ключа. Полный ключ собирается только на устройстве пользователя в изолированном контексте после прохождения email-верификации. Схема называется Delegated Key Management.

В отличие от Privy и Web3Auth, Magic не поддерживает recovery через другое устройство без дополнительных методов (MFA). Если пользователь теряет доступ к email — восстановление только через поддержку Magic. Это компромисс между безопасностью и удобством. По нашим замерам, скорость генерации кошелька на Magic в 1.5 раза выше, чем у Web3Auth, за счет оптимизации запросов к HSM.

Интеграция в React Native

Пошаговая интеграция Magic SDK

  1. Установка magic-sdk и @magic-ext/react-native, настройка WebView.
  2. Инициализация с RPC-провайдером (Infura, Alchemy).
  3. Реализация метода loginWithMagicLink, обработка ошибок (истечение ссылки).
  4. Настройка Universal Link на iOS и App Link на Android.
  5. Тестирование на реальных устройствах с Android 12+ и iOS 14+.
npm install magic-sdk @magic-ext/react-native 
import { Magic } from "@magic-sdk/react-native"; const magic = new Magic("pk_live_YOUR_PUBLISHABLE_KEY", { network: { rpcUrl: "https://mainnet.infura.io/v3/YOUR_KEY", chainId: 1, }, }); // Экспортируем провайдер для использования с ethers.js export const magicProvider = new ethers.BrowserProvider(magic.rpcProvider); 
// Логин через email const loginWithMagic = async (email: string) => { try { await magic.auth.loginWithMagicLink({ email, showUI: true, // Magic показывает свой экран ожидания }); const userInfo = await magic.user.getInfo(); // userInfo.publicAddress — адрес кошелька await saveUserSession(userInfo); } catch (e) { if (e instanceof RPCError && e.code === RPCErrorCode.MagicLinkExpired) { showError("Ссылка истекла. Запросите новую."); } } }; 

Deep Link для magic link на мобильном

Пользователь получает email, тапает ссылку — браузер должен вернуть управление в приложение. Для этого нужен Universal Link (iOS) или App Link (Android).

На iOS в Info.plist добавляем Associated Domains: applinks:your-app.link. На сервере — файл apple-app-site-association. Magic Dashboard позволяет настроить кастомный redirect URL.

На Android — Intent Filter с autoVerify="true" и .well-known/assetlinks.json на домене. Без этого magic link откроется в браузере, а не в приложении.

Что делать, если magic link не открывает приложение на Android 12+?

Проблема, которая встречается часто: ссылка открывается в Chrome Custom Tab вместо приложения на Android 12+. Причина — изменения в политике App Links в Android 12 (релиз 2021 года). Решение: явно указывать android:pathPattern в Intent Filter и проверять верификацию через adb shell am start -W -a android.intent.action.VIEW. Также убедитесь, что домен верифицирован в Play Console. С нашими настройками конверсия deep link стабильно 99%.

Подписание транзакций

const signTransaction = async (to: string, valueEth: string) => { const signer = await magicProvider.getSigner(); const tx = await signer.sendTransaction({ to, value: ethers.parseEther(valueEth), gasLimit: 21000, }); return tx.hash; }; 

Magic автоматически вызывает UI подтверждения транзакции через свой WebView — пользователь видит детали и подтверждает. Кастомизировать этот UI нельзя без Enterprise-плана.

Сравнение: Magic vs Privy vs Web3Auth

Критерий Magic Privy Web3Auth
Тип управления ключами Delegated Key Management (closed) Delegated + MPC (open source) MPC + TSS (open source)
Recovery без seed Только через поддержку Через доверенное устройство Через социальное восстановление
Custom UI транзакций Enterprise-план Да Да
Время интеграции 1-2 недели 2-4 недели 2-3 недели
Типичные ошибки при интеграции
  • Отсутствие обработки ошибки MagicLinkExpired — пользователь не понимает, почему не зашёл.
  • Неверный pathPattern на Android — ссылка открывается в Custom Tab.
  • Отсутствие apple-app-site-association на корневом домене — iOS не верифицирует Universal Link.
  • Не учтена задержка генерации ключа на HSM — при мгновенном редиректе может возникнуть race condition.

Что входит в интеграцию под ключ

  • Аудит текущего приложения и подготовка архитектуры.
  • Подключение Magic SDK с настройкой сети (Ethereum, Polygon и т.д.).
  • Настройка Universal Links (iOS) и App Links (Android) с валидацией.
  • Реализация логики логина и подписания транзакций.
  • Тестирование на реальных устройствах (iOS 14+ и Android 11+).
  • Написание документации по интеграции для вашей команды.
  • Поддержка в течение 30 дней после сдачи.

Опыт и гарантии

Наша команда (5 лет на рынке мобильной разработки) интегрировала Magic Link в 15+ криптоприложений. Гарантируем, что deep link работает на всех актуальных версиях iOS и Android — при любых изменениях политик Apple/Google дорабатываем бесплатно в рамках проекта.

Сроки

Интеграция Magic Link + настройка Deep Links + подписание транзакций — 1-2 недели. Стоимость рассчитывается индивидуально после оценки вашего проекта. Свяжитесь с нами, чтобы обсудить детали. Получите консультацию по интеграции — это бесплатно.