单一登录facebook钛机器人

时间:2013-02-11 06:48:33

标签: android titanium appcelerator titanium-mobile appcelerator-mobile

我正在使用钛平台,当我在iOS中实现SSO时,无论我做了一次还是多次,它都能很好地工作,它运行顺畅而且完美。但是当我来到Android时,它第一次工作但不是之后。 例如,我在Android上安装了测试应用程序并点击Facebook登录,它第一次工作,但当我退出并尝试再次登录facebook时,它只显示重定向到Facebook应用程序但是应用程序登录不会发生,我尝试了很多次并尝试了许多方法,但它不起作用。

我已经在app.js和somewindow.js中放置了facebook登录事件监听器,我有facebook登录按钮。登录Facebook后我正在做一些工作,意味着重定向到其他窗口。

提前感谢。

2 个答案:

答案 0 :(得分:1)

实际上问题因缓存而持续存在。我们需要在您注销时清除缓存使用下面的代码它可以正常工作

 Titanium.Facebook.appid = "XXXXXXXXXXXXXXXXXX";
 Titanium.Facebook.permissions = ['publish_stream', 'read_stream'];


   var fbButton =  Ti.UI.createButton({
    top: 68,
    width:290,
    height:52,
    backgroundImage:"images/login/facebook.png"
});


 fbButton.addEventListener('click', function() {
if(Titanium.Facebook.loggedIn){
    Titanium.Facebook.logout()
    return
}
 Titanium.Facebook.authorize();

  });




Ti.Facebook.addEventListener('login', function(e) {
if (e.success) {
    win.close()
} else if (e.error) {
    alert(e.error);
} else if (e.cancelled) {
    alert("Canceled");
}
 });

  Titanium.Facebook.addEventListener('logout', function(e) {
    var url = 'https://login.facebook.com';
    var client = Titanium.Network.createHTTPClient();
    client.clearCookies(url);
});

答案 1 :(得分:0)

使用此标志Ti.Facebook.forceDialogAuth = false;