Я довольно новичок в Rails и пытаюсь реализовать действительно базовую систему аутентификации пользователей. Моя главная проблема сейчас заключается в том, что я понятия не имею, что является хорошим дизайном для этого.
Что у меня сейчас
Приложение My Rails не является веб-сайтом; это веб-сервис, который связывается с приложением iPhone. Все коммуникации в формате JSON.
Когда пользователь регистрируется , приложение отправляет запрос POST на /users.json
с name
и password
в виде JSON в теле HTTP. Затем Rails сохраняет идентификатор пользователя в cookie:
cookies.signed[:user_id] = @user.id
Когда пользователь выходит из системы , приложение отправляет запрос POST на /logout.json
. Rails получает идентификатор пользователя из файла cookie, обновляет базу данных и удаляет файл cookie.
Позже, когда пользователь хочет снова войти в систему , приложение отправляет запрос POST на /login.json
с name
и password
в виде JSON в теле HTTP. Rails снова устанавливает cookie.
Мой вопрос (ы)
- Является ли этот дизайн RESTful? Потому что вход и выход не являются ресурсами.
- Безопасно ли использовать такие куки? Я планирую использовать SSL.
- Есть ли лучший способ сделать это?