У меня есть приложение Rails (не важно, я знаю), и я хочу проверить подлинность приложения iOS в отношении приложения Rails и сохранить аутентификацию, чтобы будущие запросы к Rails API работали без повторной аутентификации каждого запроса. Концептуально, вот что я хочу сделать... Я не уверен, что это лучший подход.
Хорошо, поэтому в моем приложении Rails каждый пользователь имеет уникальный токен (SHA1 хеш). Я думал, что в первый раз, когда приложение iPhone будет загружено, пользователь увидит экран имени пользователя/пароля. Они ввели свои учетные данные для приложения Rails, и после успешной проверки подлинности приложение Rails вернет свой уникальный токен пользователя, который затем может быть сохранен в цепочке ключей? И оттуда я подумал, что могу просто добавить токен пользователя ко всем запросам API и понять, как я могу проверить пользователя в приложении Rails. Это также сохранит имя пользователя/пароль, независимо от приложения iPhone (поэтому пользователь может изменить свое имя пользователя/пароль в приложении Rails, но приложение iPhone не заботится об этом, так как оно будет использовать их токен, который не изменится).
Я думал, что мои URL-запросы могут выглядеть примерно так:
http://example.com/api/v1/[whatever].json?token=XXXXXXXXXXXXXXX
Это звучит как разумный подход? Или их проблемы я не знаю с этим подходом? Я работаю над Rails в течение длительного времени, но я относительно новичок в iOS (у меня есть только 1 приложение под моим поясом, и он не требует никакой проверки подлинности).
Если это хороший подход, трудно ли работать с брелок? Я думаю, что я прочитал, что симулятор и само устройство не поддерживают один и тот же API для доступа к keychain? (или, может быть, симулятор не поддерживает mock keychain access)
Спасибо заранее. Я пробовал искать старые сообщения, но никто, кажется, не ответил на мою конкретную ситуацию.