Aplicaciones Facebook sobre SSL

Hace unos días Facebook ha empezado a mostrar mensajes de error cuando se accedía a aplicaciones desde https, estando disponible para los desarrolladores, en la configuración de la aplicación, dos nuevos campos, para indicar las urls seguras (sobre https).

Para evitar esto debemos, claramente, añadir soporte https a nuestra aplicación, algo que si bien es sencillo, nos dará más que un quebradero de cabeza. Esto se debe a que nos encontraremos con los nuevos y vitales “bugs” con los que Facebook nos premia a todos los desarrolladores.

Si añadimos soporte SSL para evitar este mensaje, el resultado es un mensaje más agresivo, en Internet Explorer, Chrome, … en el que nos indica que nuestra aplicación está utilizando elementos seguros y elementos no seguros. Esto se debe al bug 15200. Por el que el JS de Facebook añade, si o si, un http (petición no segura) dentro de nuestra página segura (https) al canvas_proxy.php de FB.

Lo irónico, algo a lo que nos tiene acostumbrado Facebook, es que dicen que ya está solucionado, pero podemos comprobar que no.

La solución está en nuestra parte (mientras no lo solucionen completamente) añadiendo la siguiente línea :

FB._https = document.location.protocol == "https:";

Como primera línea dentro del código de window.fbAsyncInit

	window.fbAsyncInit = function() {
        FB._https = document.location.protocol == "https:";
        FB.init( ...