Проблем с Cookie-тата при използване на Facebook Javascript-SDK на localhost

Публикувано на

Днес ми се наложи да си играя с JavaScript API-то на Facebook. Трябваше да правя логин с фейсбук. Всичко върви по вода използвам примера от документацията на фейсбук:

FB.init({
    appId : '{{FACEBOOK_APP_ID}}',
    status : true,
    cookie : true,
    xfbml : true,
    oauth : true
});

Важното е cookie: true понеже искам да мога да взема signed_request-а от backend-a после. Да ама cookie няма. Порових се из интернет и попаднах на следната статия http://www.quora.com/Why-does-the-Facebook-Connect-Javascript-library-fail-to-set-cookies-when-developing-locally

Проблема е в домейна localhost. От Facebook явно са забранили на JavaScript-SDK–то да сетва cookie-та на localhost. Решението се оказва лесно. В /etc/hosts си измисляте някакъв хост, например localhost.dev и същият този хост го слагата в настройките на вашето фейсбук приложение. Така като си отвярате приложението на адрес http://localhost.dev/ всичко е ток и жица.

Защо от фейсбук са решили да забранят localhost идея си нямам, но важното е че има лесно решение на проблема.

blog comments powered by Disqus