如何为iphone应用创建一次性登录?

时间:2012-01-03 09:41:35

标签: iphone ios ipad

我正在做一个包含用户登录的应用程序,只有用户登录,然后才会重定向到主页面。但是我想做一次登录,如facebook登录或ebay登录,如果用户唱歌,用户名需要维护,不需要进一步登录,但是如果应用程序从iphone中删除那么ok.now我的应用程序需要登录,当应用程序从imememeory(多任务处理)中删除时。如何设置一次登录我的申请? 问候 拟聘

4 个答案:

答案 0 :(得分:5)

密码和其他敏感用户数据应存储在钥匙串中。密钥链的API是普通的C,可以通过再次链接安全框架来获得。

使用此API有点麻烦。我通常使用Buzz Andersen提供的优秀Objective-C包装器at github

一次性登录应用程序的正常工作流程是使用类似于此伪代码的启动:

if (stored password exists) {
   if (login with stored password succeeds) {
      exit, we are done
   } else {
      remove password from secure storage
   }
}
if (user provides new password) {
   if (login with user provided password success) {
      store user provided password in secure storage
   }
}

答案 1 :(得分:0)

我会使用KeyChainWrapper并将密钥的密码存储为用户名。由于密码是敏感的,因此不应存储在NSUSerDefaults中。

良好的链接:http://www.thomasverbeek.com/blog/?p=351

您可以做的是将用户名存储在NSUserDefaults中,然后根据用户名在KeyChain中搜索密码。如果存在,您可以使用用户名和密码进行休息通话。

答案 2 :(得分:-3)

为此您必须使用NSUSerDefaults保存用户名和密码。当应用程序启动时,从NSUserDefaults获取数据并检查屏幕后面的代码。用户注销时,然后从NSUserDefaults中删除值。

答案 3 :(得分:-3)

我相信他们的意思是每次应用启动时,都会检查{{1>}获取值(用户名密码等) 。如果存在,请不要显示“登录”屏幕并按下要显示的视图控制器。如果没有,请弹出“登录”屏幕,当用户输入信息时,将值保存到NSUserDefaults一次。

要从NSUserDefaults获取值,您可以:

NSUserDefaults