Как создать однократный логин для приложения на iphone? - PullRequest
0 голосов
/ 03 января 2012

Я делаю приложение, которое включает в себя логин пользователя, только логин пользователя, тогда только он будет перенаправлен на главную страницу. Но я хочу сделать одноразовый логин, такой как логин на Facebook или ebay, который, если пользователь поет,Необходимо сохранить имя пользователя, дальнейший вход в систему не требуется, но если приложение удаляется с iphone, то это нормально. Теперь моему приложению требуется вход при удалении приложения из памяти iphone (многозадачность). Как настроить одноразовый входдля моего приложения?С уважением, Нипин

Ответы [ 4 ]

5 голосов
/ 03 января 2012

Пароли и другие конфиденциальные данные пользователя должны храниться в цепочке для ключей.API для цепочки для ключей - простой C и доступный, связывая снова структуру безопасности.

С этим API довольно сложно работать.Я обычно использую превосходную оболочку Objective-C от Buzz Andersen, доступную на 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
   }
}
0 голосов
/ 15 октября 2013

Я бы использовал KeyChainWrapper и сохранил пароль для ключа как имя пользователя. Поскольку пароль чувствителен, его нельзя хранить в NSUSerDefaults.

Хорошая ссылка: http://www.thomasverbeek.com/blog/?p=351

Что вы можете сделать, это сохранить имя пользователя в NSUserDefaults, а затем искать пароль в KeyChain на основе имени пользователя. Если он существует, вы можете сделать спокойный звонок с именем пользователя и паролем.

0 голосов
/ 03 января 2012

Я полагаю, что они хотели сказать, что каждый раз, когда приложение запускается, выполните проверку, которая получает значения ( Имя пользователя , Пароль и т. Д.) От NSUserDefaults. Если они существуют, не показывайте экран входа и не нажимайте, какой контроллер просмотра вы хотите показать. Если этого не произойдет, откройте экран входа в систему и, когда пользователь вводит свои данные, сохраните значения в NSUserDefaults один раз.

Чтобы получить значения из NSUserDefaults, вы можете:

NSString * username = [[NSUserDefaults standardUserDefaults] valueForKey:@"Username"];
0 голосов
/ 03 января 2012

Для этого вы должны использовать NSUSerDefaults, в которых сохраняются имя пользователя и пароли. При запуске приложения возьмите данные из NSUserDefaults и сверьтесь с кодом за экраном. Когда пользователь выходит из системы, удалите значения из NSUserDefaults.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...