Exponer la aplicación Rails / Devise Authentication a iOS

Tengo una aplicación Rails 3.1 que utiliza Devise for Authentication con un model de usuario simple con correo electrónico, contraseña, etc. Necesito poder autenticarme desde una aplicación de iPhone. ¿Cómo expongo esta funcionalidad? Las respuestas generales están bien, ya que no estoy seguro de cuáles son mis opciones.

La forma más rápida sería simplemente habilitar http_authenticatable y pasar el nombre de usuario y la contraseña a través de HTTP Basic Auth. Si bien esa es la forma más fácil, significa que debe almacenar la contraseña de los usuarios en text plano y enviarla junto con todas las requestes que realice.

Una mejor opción es la authentication de tokens, puede pasarlo a través de parameters o HTTP Basic Auth (en cuyo caso puede configurar la contraseña como "X" y el token para el nombre de usuario). La ventaja de esto es que puede usar el nombre de usuario / contraseña inicialmente para get el token y luego utilizarlo para cualquier otra authentication.

La forma más simple de hacer authentication de token con la cantidad mínima de código sería habilitar la authentication HTTP en Devise y configurar un controller nuevo que requiera que el usuario inicie session y todo lo que hace es generar el resultado de reset_authentication_token . Una vez que tenga el token, lo pasaría a cualquier futura request de authentication HTTP para iniciar session.