Бутон за влизане във Facebook с oauth 2, който не извиква auth.login

Нашият сайт Asp.net използва бутона за влизане във facebook (w/ javascript sdk), за да управлява процеса на влизане и сега, когато Oauth е задължителен (от 15 декември 2011 г. (вчера)), той е повреден. Направих някои очевидни промени, които бяха споменати в блога за мигриране на fb oauth, но все пак Получавам грешки. По-конкретно, когато параметърът на FB.init() задава status=false, събитието auth.login никога не се задейства (което е проблем, защото използвам обратно извикване на това събитие, за да извикам друга страница, която изпълнява някои заявки за отворена графика от страна на сървъра въз основа на маркера за оторизация в получената бисквитка). Ако задам status=true, тогава събитието се задейства, но бисквитката не е зададена и така не мога да направя моите заявки за отворена графика от страна на сървъра.

Ето моя javascript код (леко редактиран...):

  window.fbAsyncInit = function () {
        FB.init({
            appId: GetFacebookAppId(),
            status: true, 
            cookie: true,
            xfbml: true,
            oauth: true
        });

        FB.Event.subscribe('auth.login', function (response) {
            if (response.authResponse && response.authResponse.accessToken)
                FacebookLoginRedirect(); 
        });
   }

Някакви идеи?

Благодаря!


person skeej    schedule 16.12.2011    source източник


Отговори (3)


Опитайте FB.getLoginStatus() вместо if (response.authResponse && response.authResponse.accessToken)

Вижте подробен пример тук в документите: ]

person borisdiakur    schedule 16.12.2011
comment
това работи, ако fb.init { ..., status: true, ... }, но искам да задам status=false да работи със съществуващия ми код. когато status=false, тогава събитието auth.login не се задейства. това е големият проблем. - person skeej; 17.12.2011

Надяваме се, че някой намира това за полезно - успях да чуя различно събитие: auth.statusChange, да проверя отговора и след това да продължа. Едно нещо беше, че трябваше да се отпиша от това събитие, след като успешно влязох, но тогава изглеждаше, че работи добре.

person skeej    schedule 19.12.2011

слушайте auth.statusChange:

FB.Event.subscribe('auth.statusChange', handleStatusChange);
person Miguel Alejandro Fuentes Lopez    schedule 19.12.2011