Native mobile app: Temporary user account based on device ID

Hi community, we have a mobile Augmented Reality app that uses Meteor as its backend, but communicates directly via DDP. Other parts of the app “live” in a web UI running inside a web view (Chrome, WKWebView), which is then authenticated automatically, based on a token we request for the already logged-in DDP user. So, it works like this:

  • the native part authenticates via DDP and retrieves a token
  • the web UI part uses this token to authenticate automatically

This setup works fine.

Currently, this is all based on accounts-password, and the users have to register with a username and their e-mail address first. This causes some drop-offs during onboarding, because people are too lazy to register first and then forget about the app.

Thus, we are thinking about implementing a login-mechanism that auto-generates a temporary user, based on the unique device ID. The idea is that the users can start using the app right away, and only if they want to maintain their data across devices, they would have to register.

What would be the best approach (with both DDP and the web frontend) to achieve something like that? Is there a way to “register” a user via DDP without providing any credentials?

It’s similar to registering with your phone number only, like Facebook does it. Has anyone experiences with such a setup?

As a side-note: Once the users register, they should be able to combine multiple temporary accounts (e.g. on two separate devices) into one single account. I know this is possible with the social accounts somehow, but never made it work. Is there any real-world sample application out there we could examine to see how others do this?