Socket
Socket
Sign inDemoInstall

@magic-sdk/react-native

Package Overview
Dependencies
Maintainers
22
Versions
92
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@magic-sdk/react-native

Passwordless authentication for React Native.


Version published
Weekly downloads
20
decreased by-90.15%
Maintainers
22
Weekly downloads
 
Created
Source

✨ Magic Authentication JavaScript SDK

<MagicLabs>

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

License · Changelog · Contributing Guide

Package Split!!

Since v9.0.0, @magic-sdk/react-native package drops support of bare React Native (RN). You may stay on ^v8.0.0 to keep your bare RN app functional. With this in mind, bare React Native applications utlilizing OAuth should note that @magic-ext/react-native-oauth uses expo-web-browser as a dependency.

If this dependency causes you issues, consider enabling the expo library via npx install-expo-modules@latest. For more context, you may check: https://docs.expo.dev/bare/installing-expo-modules.

This package will mainly support Expo framework in future releases.

📖 Documentation

See the developer documentation to learn how you can master the Magic SDK in a matter of minutes.

🔗 Installation

Integrating your app with Magic will require our client-side NPM package:

# Via NPM:
npm install --save @magic-sdk/react-native

# Via Yarn:
yarn add @magic-sdk/react-native

⚡️ 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!

import React from 'react';
import { Magic } from '@magic-sdk/react-native';

const magic = new Magic('YOUR_API_KEY');

export default function App() {
  return <>
    {/* Render the Magic iframe! */}
    <magic.Relayer />
    {...}
  </>
}

// Somewhere else in your code...
await magic.auth.loginWithMagicLink({ email: 'your.email@example.com' });

🙌🏾 Troubleshooting

Symlinking in Monorepo w/ Metro (Expo Only)

For React Native projects living within a monorepo that run into the following TypeError: Undefined is not an object error:

Screenshot 2022-11-23 at 12 19 19 PM

When attempting to import Magic, take note that the React Native metro bundler doesn’t work well with symlinks, which tend to be utilized by most package managers.

For this issue consider using Microsoft's rnx-kit suite of tools that include a plugin for metro that fixes this symlink related error.

FAQs

Package last updated on 05 Jan 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc