Tengo una aplicación de escritorio y una aplicación web. El usuario ha iniciado sesión en la aplicación de escritorio. Con un clic en un botón o algo, el navegador debería abrirse y el usuario debería estar conectado.
Ahora estoy un poco confundido sobre cómo implementar esto de manera segura. Mi primer pensamiento sería generar un nonce en el servidor, pasarlo a la aplicación que a su vez genera una URL para el navegador. (Toda la comunicación es sobre HTTPS). Pero dado que el nonce estaría en la URL, ¿no podría un MITM simplemente agarrarlo y luego iniciar sesión como este usuario? Supongo que el navegador mostraría un problema de certificado en caso de un ataque MITM, pero algunos de los usuarios no son muy inteligentes, así que asumí que simplemente descartarían cualquier error de certificado.
Esto es un problema porque algunos de estos usuarios son una especie de administrador (crear usuarios), por lo que sería muy malo si un atacante puede iniciar sesión.
¿Es posible iniciar sesión automáticamente en un usuario desde una aplicación de escritorio a una aplicación web de forma segura?