magiclabs/magic-js

Device Registration 'Approve' Button does not work on And

brien-crean opened this issue ยท 5 comments

โœ… Prerequisites

  • Did you perform a cursory search of open issues? Is this bug already reported elsewhere?
  • Are you running the latest SDK version?
  • Are you reporting to the correct repository (magic-sdk)?

๐Ÿ› Description

This issue relates to new device registration: https://magic.link/docs/authentication/security/device-registration

When a user attempts to approve a login from a new device they receive an email from https://auth.magic.link/v1/new-device-verification asking for approval. However the 'Approve' button does nothing when clicked on a mobile device. It does not matter if they open the link in Chrome for mobile or in an email clients built in browser. The result is the same. As a consequence user's must approve the new device login on a Computer.

๐Ÿงฉ Steps to Reproduce

  1. Login with loginWithEmailOTP({ email: options.email }) with email as the only option
  2. Wait for an email with subject Approve <App Name> login?, open the link either in Chrome for Android or Gmail for Android.
  3. Click the Approve button

๐Ÿค” Expected behavior

Once the Approve button is clicked the device should be approved and web client redirected to a page to advise the User to check their email for a login code.

๐Ÿ˜ฎ Actual behavior

Nothing happens, the user is stuck on the approve/reject link they opened from the email

๐Ÿ’ป Code Sample

n/a

Screen recording

test_approve.mov

๐ŸŒŽ Environment

Software Version(s)
@magic-sdk/react-native-bare 29.0.2
Browser Chrome for Android and Gmail inbuilt Web browser
yarn >=1.22.0
Operating System Android / React Native app

Hi @brien-crean ,

Thank you for posting this issue. I am attempting to reproduce this issue but I am not able to do so with my Android phone. When I receive the Device Registration email I can click on the Approve button and it works successfully. I then complete the login flow. I also use the Gmail mobile application to view the email and click the link.

Would you tell us more about your device OS and version? Would you also share the publishable API key for the app? This will help locate relevant logs for your application.

Thank you!

Thank you for your quick reply @am-hernandez! I just tested this a bit more with a couple of devices and it does seem like it is device / platform software specific.

Samsung Galaxy A52 running Android 13 - The approve button works as expected.

Pixel 7a running Android 14 - Approve button does not work. However...

  • If I enable Desktop site in Chrome on mobile it does work...

@brien-crean I use a Pixel 7 Pro on Android 14 and I am not seeing this issue. I don't make any changes to Chrome, just clicking the Approve button works as expected. It seems this issue is local to your particular device.

Hey @am-hernandez, cross-client email delivery is notoriously tricky.

Have you guys tried using a service like https://www.litmus.com/ or equivalent to do a spread across many devices & email clients? It might be worth it because we're not willing to chance it with our userbase.

Hi @rowbot-weisguy , would you please share the device(s) and OS version on which you are experiencing this issue?