2016-10-19 7 views
1

Я разрабатываю приложение IOS swift 3, получающее данные из успокоительного веб-ави. Первый экран - это экран входа в систему. Он запрашивает имя пользователя и пароль. Приложение переходит в веб-приложение api, вызывая метод аутентификации (анонимный доступ) и возвращает, если пользователь аутентифицирован или нет. Веб-api использует базовую аутентификацию.Могу ли я сохранить имя пользователя и пароль в одном окне в приложении IOS Swift?

В приложении ios я сохраняю имя пользователя и пароль в однопользовательском режиме после успешного входа в систему. С этого момента, когда мне нужно позвонить в веб-api, я извлекаю имя пользователя и пароль из одного синглтона и вставляю их в свой http-заголовок параметра «Авторизация». Когда приложение закрывается, синглтон уйдет. Мне кажется, это похоже на настольное приложение, которое сохраняет состояния. Так почему же никто этого не делает? Каждый делает либо брелок, URLCredential и т. Д.

Спасибо!

ответ

0

Вы можете сохранить имя пользователя и пароль в singleton. Тем не менее, пользователь будет постоянно требовать ввести имя пользователя и пароль, когда приложение будет убито. Следовательно, брелок. Если ваш api поддерживает токен после успешного входа в систему, вы также захотите сохранить токен

+0

Спасибо за ответ. Мой api еще не поддерживает Token. Возможно, следующий раунд. Я тоже использую брелок. –

1

Да, вы можете. Хотя это не рекомендуется, поскольку, как говорит neprocker, вам придется снова ввести его.

Если ваше приложение использует токены (например, OAuth), вы должны сохранить ТОЛЬКО токен обновления. Не имя пользователя или пароль, это идея использования токенов. Приложение не должно содержать конфиденциальную информацию пользователя.

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