Al termine della attivazione come essere sicuri che il dispositivo è quello da cui è partita la richiesta?
Ho due quesiti per te.
1. Ti occorre identificare l'utente o uno tra i suoi possibili dispositivi?
2. Ti occorre davvero registrare i dati di un utente?
Parto dal secondo punto per una breve osservazione. Saprai certamente della famigerata GDPR. Raccogliere e trattare dati personali non è mai una grande idea se non è strettamente necessario. Personalmente preferisco sistemi del tutto anonimi; sono io stesso a suggerire di registrarsi tramite un servizio di "disposable email", ovvero di mail fasulle che vengono eliminate dopo poche ore/giorni. Lo scopo è quello che descrivi nel post #1: avere un punto terminale cui inviare il "token" di riconoscimento (in modo da discriminare tra utente A e utente B). Ricevuto il token (ed eliminata la mail di conferma della registrazione), il client inizia ad interagire con il tuo sistema, ma tu di quell'utente non sai nulla e quindi nulla rischi lato GDPR (e simili).
Per il primo punto, gli store non gradiscono (eufemismo) che le app contengano dati univoci di identificazione dei dispositivi (es. android_id). Potresti generare dei codici univoci locali da inviare al server, ma sarebbe un modo di aggirare le indiczioni degli store. A volte è comunque necessario. Ad esempio se per lo stesso utente hai più licenze (una per device) magari con funzionalità e scadenze diverse. Ma qui si apre un mondo e bisogna conoscere bene il contesto per esprimersi con cognizione di causa.
Sono solo due punti di riflessione che, spero, non ti rovineranno il fine settimana.