Tengo un usuario en el sitio web A y necesito iniciar sesión en el sitio web B (no bajo mi control) pero sin poner en peligro su contraseña en el sitio web B. El sitio web B no tiene una API que es lo que hace que esto sea más complicado de lo que debería ser.¿Puedo hacer un formulario desde otro sitio web
Mi primera opción es hacer mi propio formulario en el sitio web A, el usuario ingresa su contraseña B en mi formulario, y de alguna manera transfiero su contraseña al sitio web B para registrarlo. Esto significa que tengo que primero pasar la contraseña de forma segura desde el cliente a mi servidor, luego pasarla de nuevo de forma segura desde mi servidor al sitio web final. Eso es lo que supongo que tengo que hacer, pero no tengo un plan sobre cómo implementar estos 2 saltos de forma segura, así que me preocupa que pueda exponer la contraseña del usuario de alguna manera.
Así que pensé en la segunda opción, que es presentar el mismo sitio web B desde el sitio web B en mi sitio web. Pero el formulario en el sitio web B es parte de una página más grande, ¿así que se puede hacer esto?
- ¿cómo iba a aislar el código de la forma misma del código de la página completa
- la forma de presentar el formulario en mi sitio web. Quiero que el usuario lo vea iframe viene a la mente, pero nunca trabajó con él
- se forma todavía ser válido cuando el usuario hace clic en el botón de enviar o no prestar la forma en mi sitio web de alguna manera invalida
Estas son las 2 soluciones diferentes que pensé de. Doy la bienvenida a las respuestas para cada uno de ellos, y también recibo respuestas que sugieren un tercer enfoque alternativo que puede ser más fácil.
¿por qué no utilizar un mecanismo de autenticación de terceros como OpenID? –
@Mitch Deseo pero no tengo ningún control sobre el sitio web B. No tienen una API y no ofrecen OpenID. – Berming
Sin saber nada sobre la página en la que desea iniciar sesión. Pero muchos sitios de hoy usan una protección contra este tipo de acciones. Porque, en cierto modo, lo que intenta lograr es básicamente una falsificación de solicitudes entre sitios (http://en.wikipedia.org/wiki/Csrf) – 3cho