Auth0 Home Blog Docs

Path in universal links configurable?

linking
ios

#1

I want to use passwordless logins by e-mail on iOS (with a custom UI, not with the Auth0 lock widget).
I start by generating a mail by using /passwordless/start. The mail is sent correctly, and I have configured the universal link with

applinks:MYDOMAIN.eu.auth0.com

In the Auth0 admin settings, I have configured the team ID and the bundle ID and auth0 generates the file
MYDOMAIN.eu.auth0.com/apple-app-site-association
correctly.

The problem I have is that the path in this file:

  {
    "applinks": {
      "apps": ],
      "details": 
        {
          "appID": "YYY.XXX",
          "paths": 
            "/ios/XXX/*"
          ]
        }
      ]
    }
  }

As you can see, the path is “/ios/XXX/*”. But in the mail that auth0 generates the link has a different path

https://MYDOMAIN.eu.auth0.com/passwordless/verify_redirect

With this, my mails cannot be opened by the app because the paths do not match. Do you see any solution for this? What I wanted to achieve is to forward the call to /passwordless/verify_redirect from within my app. But for this, the link needs to be opened in my app.


Path configure in universal links path
#2

To my knowledge the path component is not fully configurable and will always be derived from the configuration settings. However, I might be missing something, but /passwordless/verify_redirect should be ultimately redirecting to an application specific callback URL so if that URL is the one your application handles the universal links should still come into play and trigger your application. In conclusion, the link contained in the email can be made to redirect to the callback URL that you registered for your application to handle; are you saying that is not redirecting or that it redirects but your application does not handle it.


#3

Thanks for your answer. I can make .../verify_redirect redirect to my own domain but then the universal link does not trigger my app; only in the browser. This is why I registered MYDOMAIN.eu.auth0.com in the universal link. My plan was to open the link in my app, then call .../verify_redirect inside my app to verify the user, but that doesn’t work because of the non-matching path. The problem I see is that if I use .../verify_redirect with a callback https://myapp.com/callback, the universal link is not working. Or is there a way?


#4

Thanks for your answer. I can make .../verify_redirect redirect to my own domain but then the universal link does not trigger my app; only in the browser. This is why I registered MYDOMAIN.eu.auth0.com in the universal link. My plan was to open the link in my app, then call .../verify_redirect inside my app to verify the user, but that doesn’t work because of the non-matching path. The problem I see is that if I use .../verify_redirect with a callback https://myapp.com/callback, the universal link is not working. Or is there a way?


#5

The redirect should be associated with the client application, but should not be on your domain as that is not associated with the application from the perspective of iOS. Have you tried with the callback being the one that is associated with the app, the one with the hardcoded path that you were trying to change?


#6

Thanks for your feedback. When I try to use

 "authParams": {
             "redirect_uri": "https://MYDOMAIN.eu.auth0.com/ios/org.reactjs.native.example.auth0sendlink"
         }
 }

as a redirect for /passwordless/verify_redirect, I get a 404 because this URL of course doesn’t exist. Did I get you right or do you propose something else?


#7

The URL does not indeed map to a existent resource, however, if the native application was configured to open upon navigation to this URL, the fact that it does not exist should not be relevant as the information the client application needs is in the URL itself. TBH, I’ve only done it with Android, but it worked as expected, the application was called when the redirect happened to the configured link (which does not really map to an HTTP resource); Are you sure you made all the necessary configuration so that iOS knows the link is associated with the application?


#8