Как сохранить постоянный вход пользователя в приложение для iPhone? - PullRequest
8 голосов
/ 22 июня 2011

В моем приложении для iPhone на Facebook, я думаю, что заходил в него только один раз.

В моем финансовом приложении Mint я заходил один раз.всякий раз, когда я загружаю его обратно, я даю четырехзначный PIN-код, который был настроен в приложении, и мне больше никогда не нужно входить в систему.

Я сейчас создаю приложение, в котором этот тип поведения будетбыть очень полезным.

Они просто устанавливают какой-либо файл cookie авторизации и просто устанавливают его срок действия в будущем?Или есть другой способ справиться с этим?

Спасибо!

Ответы [ 4 ]

7 голосов
/ 22 июня 2011

Вы также можете использовать iOS KeyChain для безопасного хранения учетных данных. Это можно упростить с помощью этого кода, найденного на github (https://github.com/ldandersen/scifihifi-iphone/tree/master/security/), с некоторыми основными инструкциями, найденными на http://gorgando.com/blog/tag/sfhfkeychainutils

3 голосов
/ 22 июня 2011

Это зависит от контекста вашего приложения. Если вы выполняете аутентификацию на другом API, поставщик API обычно предоставляет вам какой-то ключ аутентификации, срок действия которого может истечь через определенное время. Вы сохраните этот ключ в своем приложении, как только пользователь выполнит этап аутентификации, и будете использовать его повторно для каждого запроса.

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

2 голосов
/ 22 июня 2011

Я не могу говорить за Facebook или Mint, но самый простой подход состоит в том, чтобы использовать cookie / токен и сохранять его в NSUserDefaults.

Когда приложение запущено, проверьте, действителен ли токен.Если он недействителен, вынудите пользователя снова войти в систему.

1 голос
/ 22 июня 2011

Я беру удар здесь в темноте, но:

Я предполагаю, что информация для входа в систему зашифрована и затем где-то хранится на устройстве. При создании нового экземпляра приложения эти данные отправляются на сайт для всех вещей oauth / login / etc. После этого приложение Facebook остается включенным до: 1) выключения устройства или 2) выхода из приложения вручную.

Может быть, это поможет вам, но я уверен, что лучшие ответы придут.

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