У меня есть приложение Rails, которое вызывает несколько пользовательских вызовов стороннего API. Они взаимодействуют с большим количеством данных в ходе заполнения опроса, и их прогресс сохраняется в HTML5 localStorage до тех пор, пока они не дойдут до конца опроса, и данные будут сохранены в локальной базе данных. & localStorage очищен.Как аутентифицировать приложение Rails с использованием токена от стороннего API?
Для вызовов API требуется маркер, прикрепленный к концу в качестве параметра «auth =». Прямо сейчас у меня есть пользователь, который входит в мое приложение со своим именем пользователя и паролем к этой службе, POST эти учетные данные для вызова «сессий» этого API и возвращает токен в JSON. Я сохраняю этот токен в переменной в контроллере и использую его для выполнения последовательных вызовов API и представления данных пользователя в моем приложении и т. Д. И т. Д.
Я узнал немного о Rails, но рядом с ничего о сеансах или аутентификации. Вообще говоря, есть ли что-то еще, что мне нужно сделать для того, чтобы это было безопасным сценарием? Я чувствую, что что-то упускаю.
При условии, что я правильно понял, я думаю, что все в порядке. Одно дело - обеспечить использование HTTPS в рабочей среде. Можно посмотреть на метод Rails 3.1 force_ssl, который делает его довольно простым. В моей работе мы получаем токен доступа из facebook, когда пользователь вступил в систему, и сохраняем этот токен в сеансе. Затем мы отправим запросы на api facebook. Мое другое беспокойство может заключаться в хранении личной информации в локальном хранилище, а также в ее зашифровке в вашей базе данных, но локальное хранилище может быть прекрасным, я просто не знаком с тем, как это работает с точки зрения безопасности. – agmcleod
Хороший вопрос о localStorage. (Я не собираюсь хранить там токен, а данные, которые там хранятся, не являются чем-то вроде «маркеров прогресса» для опроса, который пользователь выполняет.) – Gregir
Ah okay. Я не был уверен, сохраняете ли вы поля ввода, которые могут содержать личную информацию или что-то в этом роде, я думаю, что тогда вы хороши в этом отношении. Localstorage для состояния - отличная утилита. – agmcleod