使用 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');
您好,这是我第一次使用 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');