Search packages, repositories and app categories

Package detailsv6.0.1

magic_sdk

This is your entry-point to secure, passwordless authentication for your iOS or Android-based Flutter app.

30-day downloads
98
Likes
23
Pub points
105

Install package

flutter pub add magic_sdk

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

Magic SDK is a Flutter package that enables secure, passwordless authentication for iOS and Android apps. It simplifies user onboarding by allowing sign-ins via email or social accounts without passwords, leveraging blockchain-backed identity verification. Built for Web3 applications, it integrates seamlessly with decentralized identity systems. The SDK handles authentication flows, token management, and secure session handling, reducing development overhead. It's ideal for apps prioritizing user experience and modern security practices.

Use cases

  • Passwordless login in mobile apps
  • Web3 and blockchain-based identity
  • Secure user authentication without passwords
  • Decentralized identity integration
  • Streamlined onboarding for new users

Key features

  • Passwordless sign-in
  • Blockchain-backed identity
  • Email and social login options
  • Secure token management
  • Seamless Flutter integration

Suitable for

  • Mobile app developers
  • Web3 and crypto projects
  • Apps requiring strong security
  • Startups focusing on UX
  • Developers avoiding password storage

Considerations

  • Requires internet connection
  • Depends on Magic.link backend services
  • Limited to iOS and Android platforms
  • May require additional setup for custom auth flows
  • Not suitable for offline-first applications

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

We have decided to temporarily archive this repository and place it into maintenance mode. This decision allows us to focus our efforts and resources on advancing our core product line. During this period, active development and the addition of new features will be paused. We value the contributions of the community and appreciate your understanding as we prioritize our main projects. We look forward to resuming development in the future and will keep you updated on any changes.

magic-flutter

Magic empowers developers to protect their users via an innovative, passwordless authentication flow without the UX compromises that burden traditional OAuth implementations.

⚠️ Device Registration Requirement ⚠️

As of v4.1.0, users will be asked to go through a device registration flow to securely confirm any new device they use to login. If you run into this issue, please consider upgrading to the latest version of the SDK.

Get started

Install Flutter & Dart https://flutter.dev/docs/get-started/install

Start the project

$ cd project_root/magic_demo
$ flutter run

Dependency installation is automatically done in the flutter run command

For detail integration please check our official doc or README in each package directory

Package Name Changelog Description
magic_sdk CHANGELOG Flutter entry-point for Magic SDK.
magic_ext_oauth CHANGELOG An Extension to access OAuth providers
magic_ext_tezos CHANGELOG Tezos blockchain extension that integrates with Tezart
magic_ext_solana CHANGELOG Solana blockchain extension that integrates with crypto-please/solana
magic_ext_oidc CHANGELOG Magic Open Id Connect SDK extension for Flutter
Blockchain access

Make sure you have the third-party blockchain dependencies installed

  • Tezos via Tezart
  • Solana via Crypto-please/solana

You may remove these dependencies if you don't need to access these chains

Development Caveats

Files ending with *.g.dart are auto generated type files that are used to serialize / deserialize a class. To generate a new sets of files to reflect your changes please run the command below at your/path/to/magic_sdk

$ dart run build_runner build --delete-conflicting-outputs
Proguard rules

Relates to issue #43.

Add a proguard-rules.pro file under your android/app folder (or update your existing one), with the following rule:

# Preserve annotated Javascript interface methods.
-keepclassmembers class * {
    @android.webkit.JavascriptInterface <methods>;
}

Example: Magic Flutter Demo App

Categories

Dependencies

Dependency list 10 items

Source repository

Projects using this package

No data available yet.