✨ Magic Authentication JavaScript SDK
Magic empowers developers to protect their users via an innovative, passwordless authentication flow without the UX compromises that burden traditional OAuth implementations.
📖 Documentation
See the developer documentation to learn how you can master the Magic SDK in a matter of minutes.
📦 Package Ecosystem
Package directory | Package Name | Changelog | Description |
---|---|---|---|
/web |
magic-sdk |
CHANGELOG | Web/browser entry-point for Magic SDK. |
/react-native |
@magic-sdk/react-native |
CHANGELOG | React Native entry-point for Magic SDK. |
/types |
@magic-sdk/types |
CHANGELOG | Core typings shared between JavaScript entry-points of Magic SDK. |
/provider |
@magic-sdk/provider |
CHANGELOG | Core business logic shared between JavaScript entry-points of Magic SDK. |
🔗 Installation
Integrating your app with Magic will require our client-side NPM package:
# Via NPM:
npm install --save magic-sdk # If you're targeting web browsers
npm install --save @magic-sdk/react-native # If you're targeting React Native
# Via Yarn:
yarn add magic-sdk # If you're targeting web browsers
yarn add @magic-sdk/react-native # If you're targeting React Native
Alternatively, you can load via CDN with by adding a script tag to your app’s <head>
:
<script src="https://cdn.jsdelivr.net/npm/magic-sdk/dist/magic.js"></script>
⚡️ Quick Start
Sign up or log in to the developer dashboard to receive API keys that will allow your application to interact with Magic's authentication APIs.
Then, you can start authenticating users with just one method! Magic works across all modern desktop, mobile Chrome, Safari and Firefox browsers.
import { Magic } from 'magic-sdk';
const magic = new Magic('YOUR_API_KEY');
await magic.auth.loginWithMagicLink({ email: 'your.email@example.com' });