Estoy creando una aplicación de iOS y necesito poder realizar solicitudes autenticadas a una aplicación de Rails 3 para varios bits de datos. La aplicación Rails 3 está utilizando omniauth y URL como https://myapp.com/auth/facebook para, por ejemplo, autenticar usuarios a través de Facebook ... y una vez autenticada, almacena la autenticación en una cookie segura llamada "auth". "¿Cómo autenticar a los usuarios de iOS/iPhone con una aplicación web remota y reutilizar el ticket de autenticación en futuras solicitudes a la misma aplicación web?
Lo que quiero saber es cómo autenticar a mis usuarios de la aplicación iOS/iPhone, persistirá el token de autenticación y enviarla junto con las futuras peticiones a la aplicación Rails
Usando ASIHTTPRequest estoy pensando en hacer algo como esto:?
Abra una UIWebview, cargando con una URL desde my aplicación web específica para el proveedor con el que desea autenticarse (p. myapp.com/auth/facebook para facebook o myapp.com/auth/yahoo para yahoo, etc ...).
En caso de éxito, de alguna manera analizar y almacenar la cookie de autenticación en la aplicación de iOS sin mostrar la gente suele ver página web al realizar la autenticación a través de la página web ... y en lugar de cerrar la UIWebView y navegar de nuevo a otro en el UIVewController aplicación de iOS.
De alguna manera incluye el token de autenticación persistente con futuras solicitudes web a la aplicación Rails.
También quiero permitir a los usuarios permitir que la aplicación iOS almacene esta información localmente para que no tengan que volver a iniciar sesión en la aplicación remota si así lo desean.
es apropiado este enfoque? ¿Hay una mejor manera? Y, por supuesto, ¿cómo implementar realmente lo anterior?
Gracias - WG
¿Se devuelve el token de autenticación en la aplicación web? Si no, ¿puedes devolver el token de autenticación en la aplicación web a través de http? Porque entonces podría tener una solución para usted porque estoy haciendo algo similar con la autenticación en el momento – Armand
No devuelvo el token de autenticación en este momento ... pero controlo la aplicación web así que sí, puedo si es necesario. Pero, 1) ¿Crearía un posible problema de seguridad devolviéndolo? y 2) Si guardo el ticket de autenticación como una cookie, ¿por qué no puedo (o no debería) guardarlo y enviarlo junto con cada solicitud? De todos modos, esperando su respuesta. Gracias – wgpubs
Este es exactamente mi problema; realmente interesado en saber si encontraste una buena solución! – cmaughan