OAuth без браузера и SSL/модель запрос-ответ

У нас есть план разработки мобильного приложения с использованием REST-ful. Мы хотим применить OAuth 1.0a, а не OAuth 2.0, потому что мы не используем SSL. Мы также не хотим использовать веб-браузер (мы думаем, что UX на основе PIN-кода не является дружественным). Мы знаем, что это невозможно при обычном потоке OAuth.

Я не эксперт в архитектуре безопасности, но я гуглил в сети и видел, что у кого-то есть реализация, использующая метод входа в систему, например, модель вызов-ответ.

Если нашему приложению не нужно обеспечивать безопасность имени пользователя, и пользователи доверяют нам ввод своего пароля в нашем приложении, можно ли использовать этот метод для обмена токеном доступа? Есть ли недостаток?

  1. После ответа сервера на несанкционированный токен запроса клиент начинает поток вызов-ответ.
  2. Клиент отправляет запрос на http://www.example.com/login с параметром типа OAuth require: oauth_consumer_key , oauth_token, oauth_signature_method, oauth_timestamp, oauth_nonce и дополнительный параметр username username="username", параметр password, вычисляемый на основе пароля пользователя (который хранится на сервере), oauth_nonce с функцией вывода ключа KDF/хеш-функцией. Клиент вычисляет подпись запроса с описанием OAuth, но отправляет запрос с параметром имя пользователя и другими необходимыми параметрами после пропуска параметра пароля.

  3. Сервер проверяет запрос и возвращает токен доступа.


person Kieran Dang    schedule 15.09.2011    source источник


Ответы (1)


Я считаю, что то, что вы описываете, очень похоже на xAuth Twitter, за исключением того, что вы планируете использовать свой собственное шифрование пароля на стороне клиента, а не SSL.

Я бы прочитал их документацию по xAuth, чтобы увидеть проверенный метод и рассмотреть возможность использования SSL для шага запроса токена.

person Nixus    schedule 03.11.2011