13

Actualmente tengo una aplicación de rails 3 que utiliza el complemento de diseño para la autenticación de sitios web. Pero ahora añadiré una aplicación para iPhone, así expondré las llamadas de API al dispositivo cliente (iPhone). ¿Cómo implementaría el módulo de autenticación para que el cliente de iPhone pueda autenticarse en el sitio de los raíles y acceder a alguna API?Autenticación API en rieles 3

¿Debo crear un proveedor de oauth, la autenticación de base de tokens o la simple http auth funcionan?

Respuesta

8

En esta situación, la autenticación HTTP básica funcionaría bien. Si desea que sea más seguro, puede crear un proveedor de OAuth y crear su propia implementación de Twitter xAuth para que sea más fácil de usar. Esencialmente, crearía una llamada API que aceptaría un nombre de usuario y contraseña y luego devolvería un token de solicitud OAuth para ese usuario. Deberías guardar ese token de solicitud en el iPhone y usarlo para autenticar solicitudes posteriores.

+0

¿Podría publicar un fragmento de código de cómo una solicitud en código ruby ​​iría con el token? – Gotjosh

+0

OAuth es un tema bastante complejo, así que lo simplifico mucho, pero esencialmente durante la conexión inicial de OAuth, generaría un token de acceso y lo almacenaría en su base de datos junto con el usuario al que pertenece. Cuando realiza una solicitud a su API, debe proporcionar el token de acceso. Luego, su servicio podría buscar quién posee el token de acceso y autenticar/autorizar en consecuencia. Busque las bibliotecas de Ruby OAuth Provider. –