En una nueva aplicación ASP.NET MVC en la que estoy trabajando, nos gustaría que un usuario administrador pueda configurar otras cuentas de usuario creando invitaciones que serán enviadas por correo electrónico al nuevo usuario. Ese correo electrónico tendrá un enlace que llevará al usuario a una página única donde pueden crear un inicio de sesión en el sitio o elegir iniciar sesión con un proveedor de OAuth (LinkedIn en nuestro caso).
Me preocupan las posibles implicaciones de seguridad de dicho proceso. El peligro es que el correo electrónico de un usuario podría verse comprometido y una cuenta establecida por un atacante, por lo que obtiene acceso a la aplicación.
Es posible que estas invitaciones no se apliquen de inmediato, por lo que una ventana de caducidad debería ser demasiado larga para ser útil. Debido a que un usuario creará invitaciones para otro, tampoco puedo restringir según la dirección IP.
¿Estoy siendo paranoico aquí? ¿Existe un proceso más seguro para manejar la creación de usuarios por invitación?
(Publicación cruzada de mi pregunta Stackoverflow .)