Estoy desarrollando un servicio web y debo enviar un nombre de usuario y una contraseña al servicio en un método GET. ¿Está bien enviar esta información en la uri siempre que esté pasando por un canal seguro como ssl? En otras palabras, ¿puedo tener un uri que se parezca a/users/{username}/{cleartext_password}?Enviar nombre de usuario y contraseña al servicio web
Editar: Lo siento, creo que no estaba claro. El servicio web es esencialmente solo una base de datos de nombres de usuario y contraseñas hash. Imagine una aplicación de escritorio que mantiene nombres de usuario y contraseñas en una base de datos remota. El usuario final escribe su nombre de usuario y contraseña en la aplicación y la aplicación accede al servicio web para autenticar al usuario.
Por lo tanto, la aplicación deberá enviar al usuario el nombre de usuario y la contraseña de texto sin formato del usuario final. El servicio tomará el nombre de usuario y la contraseña y comprobará que el nombre de usuario y el hash de la contraseña coincidan con el nombre de usuario y la contraseña hash en la base de datos. La aplicación en sí tendrá que autenticarse antes de que pueda acceder al servicio, pero me pregunto cuál es la mejor manera de enviar el nombre de usuario y la contraseña del usuario final al servicio para autenticar al usuario final. No utilizo un método POST porque simplemente estoy autenticando y, por lo tanto, no estoy cambiando el estado del servidor. Perdón por la confusion.
O usted podría mirar en hacer la autenticación SSL de dos vías.Los usuarios necesitarían certificados del mismo modo que los servidores, pero el servidor puede autenticar al usuario de forma segura. – mpez0