Iframe HTTP y HTTPS

Estoy creando un pequeño widget y quiero permitir que otros lo usen. El iframe se carga a través de HTTP, pero quiero permitir que los usuarios inicien sesión a través de HTTPS. es decir, enviar una solicitud de inicio de sesión a través de SSL.

¿Está permitido dentro de la misma política de origen? Es decir, ¿el escenario es que un usuario puede integrar mi JavaScript en su sitio web, se abre el widget y quiero permitir que inicien sesión a través de HTTPS?

En general, es una mala práctica incorporar un iframe con contenido servido a través de HTTPS dentro de una página servida a través de HTTP simple (o contenido mixto). La razón de esto es que no hay una buena manera para que el usuario compruebe que está utilizando el sitio HTTPS que pretende (a menos que el usuario realmente quiera verificar el origen de la página).

Un atacante podría reemplazar el contenido que sirve así:

  

con:

  

o incluso:

  

Esto es muy difícil de detectar para el usuario y anula la medida de seguridad que está tratando de implementar habilitando el inicio de sesión a través de HTTPS.

@Bruno – Estoy de acuerdo, pero me gustaría señalar que incluso consultar la fuente (por más exigente que sea) de la página puede no ser suficiente para garantizar la seguridad o el destino adecuado / previsto, ya que a menudo es el texto fuente originalmente publicado. . A menos que esté seriamente equivocado, eso se puede cambiar fácilmente con un código de JavaScript in-page o incluso fuera de página (que a su vez puede ofuscarse, si alguien realmente quiere que sea casi imposible encontrarlo). Dicho esto, si un usuario tiene un navegador apropiado, creo que podría -si es que son sospechosos desde el principio- verificar el origen del iframe para determinar el origen de ese código, y luego determinar si confían en la fuente. .. realmente no es una expectativa razonable.

Aunque todo esto podría determinarse con depuradores y / o inspectores de software / DOM apropiados y una buena dosis de grasa digital, el OP no puede razonablemente esperar que todos lo hagan (si es que alguien lo hace)

He hecho algunas pruebas Si está enlazando desde una página https a otro dominio con https, necesitan un certificado SSL válido.