Я занимаюсь разработкой приложения для Android в свободное время уже несколько месяцев. Я выполнил все свои планы на стороне устройства (за исключением взаимодействия на стороне сервера), но меня встретил очень крутой курс обучения для реализации на стороне сервера. Я исследовал около месяца без реальных потенциальных клиентов. Следовательно, я действительно в тупике. Приложение, над которым я работаю, включает следующие минимальные требования:
Должен предлагать создание учетной записи / аутентификацию на сервере с
устройство
Должен поддерживать какой-то сеанс, который позволяет авторизацию пользователя
внести изменения, которые повлияют только на данные пользователя на сервере в контексте учетной записи, в которую они вошли.
Возможность выхода из системы / выхода из системы сервером при определенных условиях.
Веб-интерфейс не понадобится, поскольку эта услуга предназначена только для устройств Android.
Я решил, что реализация Rails является наиболее желательным вариантом для меня. Мой опыт работы с Rails и серверами в целом очень ограничен. Один мой друг порекомендовал мне прочитать «Agile Web Development with Rails», чтобы ускориться. Я сделал это через достаточное количество демонстрации приложения Depot, чтобы понять библиотеки ORM, шаблон MVC и строительные леса, но потом мне надоел способ, которым книга представляет информацию. Все очень последовательно, и авторы, кажется, опускают много «как», говоря, что они объяснят позже, и просто не волнуйтесь об этом до этого момента. Это не так, как я учусь. Я отвлекся.
До сих пор я использовал скаффолдинг в Rails для генерации модели, представления и контроллера для таблицы Accounts. Я установил атрибуты для имени пользователя, пароля, сеанса_ключа (случайно сгенерированного ключа, который пользователь должен получить и использовать для подключения со своего устройства после входа в систему) и т. Д. С помощью скаффолдинга. Я проверяю username и session_key, чтобы убедиться, что они уникальны, и моя генерация буквенно-цифровых ключей работает правильно (все это делается в модели).
Теперь я хотел бы сосредоточиться на управлении сессиями в спокойной манере. Я знаю, что мне нужно реализовать это, чтобы устройства Android передавали сеансовый ключ своего пользователя на сервер при выполнении HTTP-запросов, доступе к ресурсам и т. Д., Но в остальном я в растерянности.
Я ищу кого-то, кто предоставил бы мне хороший ресурс (или объяснение), в котором описывается, как HTTP-запросы и ответы работают в целом, как информация JSON может быть получена и проанализирована с использованием запроса, и как иначе управлять спокойной авторизацией ( при условии, что пользователю уже был назначен его сеансовый ключ). Если мой подход не совсем верен, пожалуйста, дайте мне знать, что вы предлагаете.
Спасибо!