Как определить событие закрытия окна входа в LinkedIn Javascript SDK?

Я использую LinkedIn Javascript SDK для входа в систему своих пользователей, и мне нужно определить, закрывает ли пользователь окно входа / авторизации, прежде чем они завершат вход или авторизацию. Текущий SDK не запускает обратный вызов входа в систему, когда окно закрыто (я, естественно, ожидаю, что он будет вызываться с IN.User.isAuthorized(), установленным на false, как в Facebook Javascript SDK).

Как я могу определить, когда пользователь закрывает окно входа в LinkedIn?


person Can Poyrazoğlu    schedule 25.01.2016    source источник


Ответы (2)


API LinkedIn - это настоящий кошмар.

У меня была аналогичная проблема, когда он запускал несколько запросов, если они открывали окно аутентификации более одного раза. Я решил эту проблему, добавив счетчик каждый раз, когда они открывали окно, а затем игнорировал все, если count > 1. Мое решение включает Angular и Promises, поэтому я не собираюсь публиковать полное решение.

Для вас я бы просто добавил переменные authTriggered и authComplete. Триггер устанавливается, когда они нажимают ссылку / кнопку для авторизации в LinkedIn, а полная переменная устанавливается в обратном вызове auth.

Возможно, что-то вроде этого?

var LinkedIn = LinkedIn || {};

LinkedIn = {
  authTriggered: false,
  authComplete: false,
  authorise: function() {
    IN.User.authorize(function() {
      this.authComplete = true;
    });
  }
};

var authLink = document.getElementById('auth-link');
authLink.addEventListener('click', function(e) {
  e.preventDefault();

  LinkedIn.authTriggered = true;

  LinkedIn.authorise();
});
person Jem    schedule 06.06.2016
comment
Спасибо, Джем, я попробую как можно скорее. - person Can Poyrazoğlu; 06.06.2016
comment
@ CanPoyrazoğlu Надеюсь, это поможет. Если у вас есть вопросы, дайте мне знать. Удачи! - person Jem; 07.06.2016

Вместо IN.User.authorize() используйте IN.UI.Authorize() как

var linkedin = IN.UI.Authorize().place();
linkedin.onWindowRemove.subscribe(function() {
// perform some action
});

спасибо, Санжу за этот ответ https://sanjutalks.wordpress.com/2017/10/04/linkedin-javascript-sdk-detecting-login-windows-close-event/

person PranavPinarayi    schedule 29.03.2018