Tengo una aplicación Grails en la que estoy trabajando y que permite a los usuarios completar un formulario de solicitud bastante largo. Uno de los requisitos que me han dado es NO requerir que los usuarios inicien sesión ni creen ningún tipo de cuenta. Cuando comienzan a llenar la aplicación, almaceno su ID de aplicación en la sesión para que pueda ser recordada de una página a otra. Después de una hora, la sesión expira. Si no terminaron la aplicación, les envío un correo electrónico agradeciéndoles por considerarnos.
Lo que debo hacer es dar a los usuarios la capacidad de continuar donde lo dejaron para que puedan finalizar la aplicación ... otra vez, sin una cuenta, sin una combinación de nombre de usuario / inicio de sesión.
Una forma en que pensé hacer esto fue crear una ID única (como adbce-13428-etace-etc ...) que se almacena en la base de datos y se asigna a su ID de aplicación. Luego les enviaré un enlace en el correo electrónico que dice "Si desea continuar llenando su solicitud, haga clic en el siguiente enlace: myapp.com/continue/{their_unique_id}". Cuando hacen clic en eso, busca la ID única en la base de datos, obtiene su ID de aplicación y vuelve a colocar la información en la sesión para que puedan finalizar la aplicación.
Mi pregunta es : ¿es esta forma incorrecta? ¿Es mal diseño? ¿Es malo para la seguridad? ¿Por qué?