它是一個漫長的奇怪之旅,在我的旅行中使用Janrain客戶端身份驗證過程來驗證用戶的整個身份驗證過程,但我終於得到它的工作,但...janrain搞模式彈出窗口將不會關閉onProviderLoginToken事件
如何在獲取令牌後關閉模態彈出窗口,然後使用$ .ajax get方法來對付我的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>
我想給予好評你的問題至少10倍!非常感謝你!!!! – Nizam