使用 Titanium 应用程序进行身份验证时应该考虑什么?

What should I consider when I am doing an authentication process with a titanium app?

您好,这是我第一次使用 Titanium 在移动应用程序中执行登录过程,我想知道我应该保存哪些信息以及最佳做法?

我的服务器是这样配置的:

这是我用于登录的代码:

 function signIn(e) {

//function to use HTTP to connect to a web server and transfer the data.
var sendit = Ti.Network.createHTTPClient({
    onerror : function(e) {
        Ti.API.debug(e.error);
        alert('There was an error during the connection');
    },
    timeout : 100000,
});
//Here you have to change it for your local ip
sendit.open('POST', 'http://myserver');
var params = {
    user : $.txtUsuario.value,
    password : $.txtPassword.value
};
sendit.send(params);
//Function to be called upon a successful response
sendit.onload = function() {
    var json = this.responseText;  
    var response = JSON.parse(json);  
    if (response.success == "true")  
    {  
        var landing = Alloy.createController("menu").getView();
        $.index.close();
        landing.open();

    }  
    else  
    {  
        alert(response);  
    }  
};
}; 

上面的代码可以正常工作,但是我不知道如何管理注销。我希望我的应用程序像大多数应用程序一样工作,例如:

您登录一次,之后如果您不关闭该应用程序,您可以继续使用它,甚至可以提出请求。

感谢您的任何解释。

这取决于您的应用要求。例如,如果您以后要在您的应用程序中使用令牌,您可以将其保存为 AppProperty :

Ti.App.Properties.setString('token',yourTokenGoHere);

并且在应用启动时您可以取回它:

var myToken = Ti.App.Properties.getString('token');

然后您可以进行测试,例如令牌是否仍然有效:

if(myToken === 'invalidtoken')
   youSholdLogin();
else 
   youCanGoFurther();

并且当用户断开连接时,令牌将无效:

Ti.App.Properties.setString('token', 'invalidtoken');