Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
authlogic&;iOS,我应该保存密码还是令牌,以及如何保存?_Ios_Authlogic - Fatal编程技术网

authlogic&;iOS,我应该保存密码还是令牌,以及如何保存?

authlogic&;iOS,我应该保存密码还是令牌,以及如何保存?,ios,authlogic,Ios,Authlogic,我对编写web应用程序和iPhone应用程序非常陌生。我有一个简单的web应用程序,它使用authlogic让用户登录/注册 我想允许iPhone应用程序的用户登录和注册。为了做到这一点,我计划使用ASITP。我这样做是基于这个主题: 这是最好的方法还是有更好/更简单的方法?我想尝试使用ObjectiveResource,但不幸的是我无法访问iphoneonrails.com网站 现在,假设我可以连接系统,我如何在设备上保存密码?我希望用户只需登录一次。我应该保存一些authlogic令牌,还是

我对编写web应用程序和iPhone应用程序非常陌生。我有一个简单的web应用程序,它使用authlogic让用户登录/注册

我想允许iPhone应用程序的用户登录和注册。为了做到这一点,我计划使用ASITP。我这样做是基于这个主题:

这是最好的方法还是有更好/更简单的方法?我想尝试使用ObjectiveResource,但不幸的是我无法访问iphoneonrails.com网站


现在,假设我可以连接系统,我如何在设备上保存密码?我希望用户只需登录一次。我应该保存一些authlogic令牌,还是应该在iOS中将用户名/密码保存到密钥链?在我看来,保存一次性使用令牌似乎是有意义的。

您可以使用NSUserDefaults来存储用户名和密码等简单信息

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];

[prefs setObject:username.text forKey:@"username"];
[prefs setObject:password.text forKey:@"password"];
[prefs synchronize];
用于检索您可以使用的数据

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];

NSString *u = [prefs stringForKey:@"username"];
NSString *p = [prefs stringForKey:@"password"];
更新:


有一种更好的方法在Cocoa中存储凭据,请参阅@Pius Uzamere answer以存储凭据。请查看此链接以获取示例代码:

接受的答案不安全。您不应在NSUserDefaults中保存敏感信息;用钥匙链代替


请参阅:

为了安全起见,您可以始终使用MD5Hash,然后存储密码和抄送信息等机密信息。但这是为了正常的持久性存储,而不是深入到SQLlit中,因为这不是一种保存敏感数据的安全方法。请参阅Pius Uzamere的答案,其中建议使用钥匙链存储此类信息。这正是钥匙链的作用。