Проблема безопасности с аутентификацией рельсов с помощью json - PullRequest
1 голос
/ 25 февраля 2011

Я реализовал веб-сервис с использованием сервера rails. Сервер использует схему аутентификации rails по умолчанию для входа пользователя.

Сейчас я разрабатываю собственное мобильное приложение для службы, и приложение обменивается данными с сервером с помощью запросов и ответов json.

Поскольку нативное мобильное приложение основано на сафари, аутентификация работает нормально, поскольку идентификатор сеанса может быть установлен в cookie, но я обеспокоен тем, что он подвергается риску CSRF-атаки, поскольку rails имеет дело только с такими атаками для запроса html с использованием CSRF маркер.

Мои вопросы следующие: - Вы знаете какой-нибудь способ обойти это? - Нужно ли реализовывать разные контроллеры для мобильного приложения, поскольку оно больше похоже на закрытый (приватный) API? Если да, то каков стандартный способ проверки подлинности?

Большое спасибо

1 Ответ

0 голосов
/ 25 февраля 2011

Обычная HTTP-аутентификация через HTTPS должна помочь.

Клиентский код выполняет запросы json API как обычно и устанавливает заголовок Authentication с основными учетными данными (при условии, что клиентское приложение вошло в систему и имеет доступ к имени пользователя / паролю).

Это, по сути, открытый текст, но он будет защищен от прослушивания при передаче по HTTPS.

В Rails есть несколько встроенных помощников для проверки имени пользователя / пароля.

В качестве альтернативы, 2-х сторонний OAuth также может помочь, но его сложнее реализовать.

...