私のウェブサイトでは、リンクイン経由でログインする機能を提供しています。そのためにJavaScript APIを使用しました。ログイン用のコードを以下に記述しました。
function onLinkedInAuth() {
var isLoggedIn = document.getElementById('<%=hdnIsLoggedin.ClientID %>').value;
// Check for the session on the site
if (isLoggedIn == false || isLoggedIn == 'false') {
IN.API.Profile("me")
.fields("id", "firstName", "lastName", "industry", "emailAddress")
.result(function (me) {
//debugger;
var id = me.values[0].id;
var fname = me.values[0].firstName;
var lname = me.values[0].lastName;
var industry = me.values[0].industry;
var email = me.values[0].emailAddress;
// AJAX call to register/login this user
jQuery.ajax({
type: "POST",
url: "UserRegisterAsSeeker.aspx/LinkedinLoginOrRegister",
data: "{id:'" + id + "',fname:'" + fname + "',lname:'" + lname + "',email:'" + email + "'}",
contentType: "application/json; Characterset=utf-8",
dataType: "json",
async: true,
success: function (data) {
closeLoginWindow();
__doPostBack('<%=lnkRefreshPage.UniqueID%>', '');
},
error: function (request, status, error) {
alert('Unable to process the request at this moment! Please try again later.');
},
complete: function () {
}
});
});
}
}
上記のコードは正常に動作します。そしてログアウトのために、私はlinkedinによって提供される以下の機能を使用しました
function logout() {
IN.User.logout(function () {
window.location.href = '/logout.aspx';
});
}
問題はログアウトです。サイトにログインしてすぐにログアウトすると、正常に機能しますが、サイトをしばらく離れると、LinkedIn からログアウトしません。3〜4回クリックする必要があります。
なぜそれが起こっているのかわかりません。できれば助けてください。