Модальное всплывающее окно janrain не закрывается во время события onProviderLoginToken

Это было долгое странное путешествие в моих путешествиях, чтобы заставить работать весь этот процесс аутентификации пользователя с использованием процесса аутентификации клиента Janrain, но я, наконец, заработал, но ....

Как закрыть модальное всплывающее окно после получения токена, а затем получить информацию о пользователях, используя метод get $.ajax для одного из моих контроллеров WebApi?

Весь процесс отлично работает, и я получаю необходимую мне информацию о профиле пользователя, но после выполнения моего ajax-вызова моему контроллеру WebApi и заполнения тега div на моей странице данными, модальное окно все еще открыто со статусом под логотипом Facebook, говорящим "Вход в систему...."

Мне еще не разрешено публиковать изображение, но если вы хотите увидеть изображение замороженного модального окна, вы можете просмотреть его здесь "http://oi46.tinypic.com/34s1nax.jpg"

Помощь! Мне не хватает последней команды, чтобы закрыть модальное окно?

Вот некоторые из кодов, которые у меня есть.

(function () {
if (typeof window.janrain !== 'object') window.janrain = {};
window.janrain.settings = {};

janrain.settings.tokenUrl = 'http://localhost:20000/login.html';
janrain.settings.tokenAction = 'event';
janrain.settings.type = 'modal';
janrain.settings.linkClass = 'janrainEngage';


function isReady() { janrain.ready = true; };
if (document.addEventListener) {
    document.addEventListener("DOMContentLoaded", isReady, false);
} else {
    window.attachEvent('onload', isReady);
}

var e = document.createElement('script');
e.type = 'text/javascript';
e.id = 'janrainAuthWidget';

if (document.location.protocol === 'https:') {
    e.src = 'https://rpxnow.com/js/lib/idrinkticket/engage.js';
} else {
    e.src = 'http://widget-cdn.rpxnow.com/js/lib/idrinkticket/engage.js';
}

var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(e, s);
})();



function janrainWidgetOnload() {
janrain.events.onProviderLoginStart.addHandler(function () {
    console.log('Login Start!');
});
janrain.events.onProviderLoginComplete.addHandler(function (response) {
    console.log('Login complete!');
    console.log('response.provider = ' + response.provider);
});
janrain.events.onProviderLoginError.addHandler(function (response) {
    console.log('Login Error!');
    console.log('response.err.code = ' + response.err.code);
    console.log('response.err.msg = ' + response.err.msg);
    console.log('response.origin = ' + response.origin);
    console.log('response.state = ' + response.state);
});
janrain.events.onProviderLoginSuccess.addHandler(function (something) {
    console.log('Login Succcess!');
});
janrain.events.onReturnExperienceFound.addHandler(function (response) {
    console.log('Return Experience Found!');
    console.log('response.name = ' + response.name);
    console.log('response.returnProvider = ' + response.returnProvider);
    console.log('response.welcomeName = ' + response.welcomeName);
});
janrain.events.onProviderLoginToken.addHandler(function (response) {
    console.log('Provider Login Token Returned!');
    console.log('response.token = ' + response.token);

    $.ajax({
        url: "http://localhost:30001/Engage",
        type: "get",
        data: ({ token: response.token }),
        dataType: "json",
        success: function (data) {
            $('#results').append(data.Identifier);
            $('#results').append(data.ProviderName);
            $('#results').append(data.DisplayName);
        },
        error: function (xhr, status, p3, p4) {
            console.log(xhr);
            console.log(status);
            console.log(p3);
        }
    });
});
}



<a class="janrainEngage" href="#">LOGIN</a>
<br /><br />

<div id="results"></div>

person user1291785    schedule 04.10.2012    source источник
comment
Я хотел бы проголосовать за ваш вопрос как минимум 10 раз!!! Большое вам спасибо!!!!   -  person Nizam    schedule 21.03.2014


Ответы (2)


вы можете использовать janrain.engage.signin.modal.close() в случае успеха или ошибки

person seb    schedule 06.12.2012

Также попробуйте это,

janrain.events.onProviderLoginComplete.addHandler(function (response) {
    janrain.engage.signin.modal.close();
});
person Siva Shibhi    schedule 17.11.2015