Safari no solicita la autenticación básica

0

Nuestro sitio web proporciona hipervínculos a software de terceros que solicitan autenticación básica. Anteriormente, un usuario hacía clic en el enlace, se dirigía a la nueva URL y se mostraba una solicitud de autenticación. En la actualización reciente, Safari ya no solicita autenticación y los usuarios reciben un error 401 No autorizado de inmediato. Si vuelve a cargar la página, se le indicará. Pegar la URL directamente en la barra de direcciones funciona correctamente.

Esto no se debe al almacenamiento en caché ni a las cookies. Puedo confirmar que funcionaba bien en macOS Safari 11.0.1 y está roto en 11.0.2. Chrome no presenta este comportamiento. También he confirmado el mismo problema que afecta a iOS Safari, pero no tengo versiones aisladas.

La carga de una página de prueba desde mi HDD local no da el mismo problema, pero cuando se hospeda a través de IIS (en nuestro servidor web o en mi máquina de desarrollo), siempre falla. Una página de ejemplo está alojada aquí:

enlace

Aquí se enlaza con un servidor de autenticación de prueba (este servidor de prueba no muestra un error 401, pero aún debería mostrar el cuadro de diálogo de autenticación):

enlace

¿Alguien ha visto esto antes o ha encontrado una solución? También informo esto a Apple, pero como no soy un desarrollador de Apple, espero que se pierda en el ruido.

Actualizar

Un usuario en la publicación en el foro de Comunidades de Apple hice que esta es una decisión de diseño de Apple, pero tengo aún para obtener más información (o confirmación) sobre esto. Sin embargo, la evidencia parece corroborar su información: el error solo se produce cuando se vincula desde un sitio HTTPS a un sitio HTTP.

StackExchange está alojado de forma segura, por lo que el enlace al sitio seguro funciona:
enlace : //httpbin.org/basic-auth/user/passwd
Mientras que el no seguro no lo hace:
enlace : //httpbin.org/basic- auth / user / passwd

También he informado esto a través de la herramienta Apple Bug Reporter. Mi primer informe ha desaparecido misteriosamente. He vuelto a iniciar sesión, pero también he escuchado muchas cuentas de informes de errores que nunca fueron respondidos. Si alguien aquí tiene una referencia confiable de que este es un cambio intencional, sería genial. De lo contrario todavía lo considero un error.

    
pregunta Ian 15.01.2018 - 02:03

1 respuesta

0

Bueno, ya que no puedo encontrar una respuesta definitiva pública , haré la siguiente mejor opción. Esta es la respuesta que obtuve en un informe de error privado a través de Apple:

  

Se espera este comportamiento. Siguiendo la corrección por otro error. No pedimos credenciales cuando navega a una página web insegura que requiere autenticación desde una página web segura. Además, no solicitamos credenciales al cargar un sub-recurso inseguro (por ejemplo, una imagen) que requiere autenticación o un sub-recurso seguro que requiere autenticación a través de un redireccionamiento inseguro en una página web segura. La motivación para estas restricciones es evitar los ataques de phishing por parte de un atacante de redes que podría haber reemplazado el contenido de la respuesta HTTP insegura del recurso con un redireccionamiento seguro a su propio servidor que solicita credenciales. Aunque la solicitud de autenticación muestra la URL a la que se está accediendo, es posible que una persona no la lea detenidamente o, lo más probable, que un atacante pueda comprar un nombre de dominio que pueda hacer que la persona crea que cree que la URL es legítima para que la persona envíe sus credenciales al atacante.

Todavía estoy buscando una declaración pública de Apple con la que se pueda vincular. Si alguien puede proporcionar eso, lo marcaré como la respuesta aceptada.

ACTUALIZACIÓN

Alguien con autoridad en Apple se contactó conmigo sobre esto. Finalmente me vincularon con el documento de lanzamiento oficial que muestra el comportamiento modificado:

  

Changed to only allow non-mixed content protected sub-resources to ask for credentials.    enlace    enlace

Trabajamos con Apple para solucionar la experiencia de usuario dañada causada por esta solución de seguridad. Apple escuchó nuestros comentarios y corrigió el cuadro de diálogo de credenciales para los enlaces desde un recurso HTTPS a un recurso alojado HTTP. Ahora funciona correctamente en Safari en Mojave en adelante.

    
respondido por el Ian 14.02.2018 - 01:01

Lea otras preguntas en las etiquetas