27 votos

phonegap: cookie de autenticación basada en (PHP) [webview]

Estoy trabajando en una web móvil-aplicación a través de sencha touch, HTML5 y phonegap como un contenedor.

Estoy usando PHP-Autenticación (Cookie) y ajax-las solicitudes. Todo funciona bien en safari o chrome, pero después de la implementación con phonegap (webview) no no funciona...

Cualquier ayuda se agradece :)

Algunos detalles más:

Todos los datos de mi aplicación se carga a través de peticiones ajax a mi componente de servidor "mobile.php". Yo uso básico de PHP-Auth para autenticate el usuario:

  1. AJAX-Solicitud de [nombre de usuario, contraseña] -> mobile.php -> Sesión (cookies)
  2. Todas las demás solicitudes si auth fue un éxito

¿Cuál es la diferencia entre una normal safari sitio web y el webview?

27voto

meaku Puntos 428

lo he descubierto:

tienes que cambiar el phonegap_delegate.m archivo y agregue lo siguiente en el método init:


- (id) init
{   
    /** If you need to do any extra app-specific initialization, you can do it here
     *  -jm
     **/
    //special setting to accept cookies via ajax-request
    NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage 
                                          sharedHTTPCookieStorage]; 
    [cookieStorage setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways]; 

    return [super init];
}

permite webview para aceptar cookies de las peticiones ajax

2voto

NAD Puntos 185

Si su Phonegap peticiones AJAX no están disparando las devoluciones de llamada, como se supone, esta puede ser la razón.

Si la respuesta que estás recibiendo los intentos de establecer cookies y usted no ha hecho Michael reparación de su (jquery) petición AJAX se producirá en silencio-ni el éxito, ni tampoco de error: devoluciones de llamada de la voluntad de fuego a pesar del hecho de que el servidor recibe la petición y envía una respuesta. Parece que usted debe hacer esto incluso si usted no tiene cuidado acerca de las cookies.

Espero que esto ayude a alguien.

No me importaba acerca de las cookies, pero sólo pasé un par de horas tratando de averiguar por qué las devoluciones de llamada no lo fuego!

-6voto

sunil Puntos 1

Las mejores formas de almacenar obtener y eliminar cookie su trabajo muy bien en mi app, que es en vivo

Para almacenar el valor de la galleta

window.localStorage.setItem("key", "value");

Para Obtener el valor de la galleta

var value = window.localStorage.getItem("key");

Para Eliminar el valor de la cookie

window.localStorage.removeItem("key");
window.localStorage.clear();

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X