Overview
Device Registration is a security feature that helps protect end-users from sophisticated phishing techniques. When a returning user initiates a login from an unrecognized device or browser, they’ll receive an email or text message to review and confirm the login request. You can learn more about Magic’s commitment to security in this blog post.Usage
Device Registration applies to returning users logging in via Email OTP or SMS on an unrecognized device. Device Registration is not enforced at time of initial account creation.Email Login
.webp?fit=max&auto=format&n=1GYf0YW8BthDpWqo&q=85&s=6e5718d799fb3a7df16e0161c0006cc7)
.webp?fit=max&auto=format&n=1GYf0YW8BthDpWqo&q=85&s=98b88aa65654a0f85a45606b0439e7d2)
SMS Login
.webp?fit=max&auto=format&n=1GYf0YW8BthDpWqo&q=85&s=f992c408001ac0d2a2abce08c3e3b4b5)
1
) or deny (2
) the login request.
Customization
For security purposes, Magic’s Device Registration offering supports limited customization options. As with all widget UI, app name, logo, brand color, and theme will be applied to each step of the device registration flow. Additionally, you may usedeviceCheckUI=false
to customize the messaging shown to users when an unrecognized device is detected. You must use this option if you are also passing showUI=false
to your email login method call, otherwise the user may not see a UI to continue registering their device. See API Reference for more info.
Device Registration also supports Custom SMTP, allowing you to customize the domain and sender that the device registration email is sent from.
Disabling Device Registration
While we highly recommend enforcing device registration, this feature can be disabled on a per-app basis. To disable device registration, head to the Settings page in Magic’s developer dashboard.
SDK Version Support
For the best user experience, please make sure you’re using the minimum version of Magic’s SDK:Framework | SDK | Version |
Web | magic-sdk | v20.1.0+ |
React Native Bare | @magic-sdk/react-native-bare | v20.1.0+ |
React Native Expo | @magic-sdk/react-native-expo | v20.1.0+ |
Flutter | magic_sdk | v4.1.1+ |
iOS | MagicSDK | v9.1.0+ |
Android | link.magic:magic-android | v9.1.0+ |