Сохранение регистрационной информации при использовании OAuth - PullRequest
1 голос
/ 18 декабря 2011

Я начинаю создавать приложение для iOS, которое будет использовать Twitter в качестве средства аутентификации и идентификации пользователей.Я понимаю идею использования ключа Valet / токена доступа, которую предоставляет OAuth, но я не понимаю архитектуру, которую я должен использовать для сохранения состояния, т.е. мне нужно хранить дополнительную информацию, специфичную для пользователя, для функциональности приложения, но как мне это сделать?Архитектор проверки этой информации от пользователя.

Итак, если пользователь входит в приложение на устройстве, должен ли я выполнить аутентификацию на этом устройстве и затем передать токены на мой сервер?Допустимо ли хранить эти токены в my db для дальнейшего использования?

Кроме того, как я должен защищать передачу этой информации безопасным способом?

Любые сообщения / беседы, подробно описывающие, как обращаться с архитектурой приложений, были бы чрезвычайно полезны.

1 Ответ

0 голосов
/ 18 декабря 2011
  1. Всегда избегайте отправки информации, такой как токены, на сервер. Не делай этого, если не должен. Если вы это сделаете, всегда используйте защищенное (HTTPS) соединение для передачи. Хотя токены сами по себе бесполезны, их можно комбинировать с токенами, которые вы сохранили в коде приложения (потребительские токены), и это дает хакеру практически полный контроль над учетной записью пользователя.
  2. Если вы не передаете их на сервер, используйте цепочку ключей iOS для хранения токенов.

Нет правила API Twitter, которое говорит, что вы не можете хранить токены, но есть правило "Не удивляй пользователя". По сути это означает, что вы не можете твитнуть с сервера, поскольку пользователь может этого не ожидать. Если вы выполняете анализ данных для пользователя, это, вероятно, хорошо, но оставляйте его только для чтения и информируйте пользователя с помощью push-уведомления о завершении анализа. Опять же, не делает ничего, чего пользователь может не ожидать.

При кэшировании информации пользователя: если мы говорим только о псевдониме или полном имени, они действительно меняются не очень часто. Безопасно хранить их в кеше в течение 24 часов. Конечно, не храните сроки так долго. Возможно, вам иногда придется немного пойти на компромисс - вам, вероятно, понадобятся оперативные данные, в то время как пользователь хочет сэкономить на батарее и использовании сети.

Обновление : пользователи больше всего ценят то, что вы просто используете встроенные функции Twitter, что означает, что им нужно всего лишь нажать OK . Никаких серьезных процедур OAuth, и вы сами не получаете контроль над токенами (пользователям это понравится).

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