2011-06-22 21 views
7

En mi iPhone, aplicación de Facebook, creo que solo me he conectado una vez.¿Cómo mantener a un usuario conectado de forma persistente en una aplicación de iPhone?

En mi aplicación financiera de Mint, inicié sesión una vez. cada vez que lo cargo, doy un número PIN de cuatro dígitos que se configuró en la aplicación, y nunca tengo que volver a iniciar sesión.

Estoy construyendo una aplicación ahora donde este tipo de comportamiento sería muy beneficioso.

¿Acaban de establecer una cookie de autenticación de algún tipo y la configuran para caducar en el futuro? ¿O hay otra forma de manejar esto?

Gracias!

Respuesta

1

que estoy tomando una puñalada en la oscuridad aquí, pero:

Asumo la información de inicio de sesión está encriptada y se almacena en el dispositivo en algún lugar. Al crear una nueva instancia de la aplicación, estos datos se envían al sitio para todas las cosas de oauth/login/etc. Una vez hecho esto, la aplicación de Facebook permanece encendida hasta que: 1) el dispositivo se apague, o 2) abandone la aplicación manualmente.

Tal vez esto comience a ayudarlo, pero estoy seguro de que obtendrán mejores respuestas.

+0

Podría reiniciar mi dispositivo y todavía estoy conectado a Facebook. –

+0

Esta parece ser una pregunta similar: http://stackoverflow.com/questions/4785568/iphone-ios-facebook-sdk-can-you-log-in-within-the-app-and-keep-the-login -cre Hay bastantes alrededor de – cwoodall

3

Eso depende del contexto de su aplicación. Si se autentica contra otra API, el proveedor de la API generalmente le proporciona algún tipo de clave de autenticación que puede caducar después de un cierto tiempo. Debería guardar esta clave en su aplicación una vez que el usuario realice el paso de autenticación y reutilizarla para cada solicitud.

Básicamente, los datos que tiene que almacenar y el tiempo antes de que su usuario tenga que volver a autenticarse (si es que lo hace) dependen del proveedor de la API que está utilizando.

+0

Básicamente escribí la API como solo algunas llamadas RESTful. –

+0

Escribí una API y usé cookies de sesión por simplicidad. Guardé la cookie en el sistema de archivos de iphones después de que el usuario se autenticara y la introduje en el contenedor de cookies de las aplicaciones al inicio. –

+0

Voy a intentarlo. –

2

No puedo hablar por Facebook o Mint, pero el enfoque más simple es usar una cookie/token y almacenarla en NSUserDefaults.

Cuando se inicia la aplicación, vea si token sigue siendo válido. Si no es válido, obligue al usuario a iniciar sesión nuevamente.

Cuestiones relacionadas