¿Cómo paso cnetworkingenciales "Iniciar session a través de Twitter" desde un back-end de Rails a una aplicación de iPhone?

Estoy haciendo el back-end para una aplicación de iOS en Rails. Los usuarios deben poder iniciar session en la aplicación usando un nombre de usuario / contraseña específico de la aplicación o a través de Twitter, pero no estoy seguro de cómo configurar las cosas para iniciar session a través de Twitter.

Si uso OmniAuth, entonces parece que el flujo es así:

  1. La aplicación iOS dirige a los usuarios, en Safari, a la página / auth / twitter que OmniAuth configura para mí
  2. La página / auth / twitter envía al usuario a Twitter para la authentication OAuth
  3. Twitter devuelve el usuario a / auth / twitter / callback, y OmniAuth me da un hash de authentication lleno de información
  4. ????
  5. La aplicación iOS ahora tiene las cnetworkingenciales que necesita para identificar al usuario que hace las requestes cuando llama a mis API
  6. La authentication completa, el uso de la aplicación continúa como es normal

Es el paso 4, que devuelve las cnetworkingenciales a la aplicación iOS, que no sé cómo configurar. Todas mis API que las llamadas de la aplicación iOS son apátridas; si requieren un usuario autenticado, las cnetworkingenciales de usuario se incluyen en la llamada a la API. No sé mucho sobre escribir aplicaciones para iOS, y casi nada acerca de cómo interactúan las aplicaciones con Safari.

¿Qué es una forma segura de recuperar las cnetworkingenciales de los usuarios en la aplicación? ¿Uno que no se puede fisgonear? Si tengo la página de callback poner información en las cookies, o en la session, ¿será accesible para la aplicación, pero no cualquiera que vea el tráfico?

De forma alternativa, si la aplicación agrega algún identificador para sí mismo a la llamada inicial a / auth / twitter, Twitter y OmniAuth conservarán ese identificador para que se incluya en / auth / twitter / callback, de modo que la aplicación pueda preguntarme a mi espalda finalice las cnetworkingenciales para una authentication que acaba de terminar asociada con ese identificador?

De forma alternativa, si la aplicación agrega algún identificador para sí mismo a la llamada inicial a / auth / twitter, Twitter y OmniAuth conservarán ese identificador para que se incluya en / auth / twitter / callback, de modo que la aplicación pueda preguntarme a mi espalda finalice las cnetworkingenciales para una authentication que acaba de terminar asociada con ese identificador?

¿Has probado? Porque así suele ser cómo va tu step4. Usted guarda una ficha o algo sobre el usuario, de modo que cuando reciba la callback podrá volver a search a ese usuario. Sin session ni cookies, solo db simple.