Estoy usando Oauth 2.0 para Google autorización en una aplicación híbrida. Estoy usando PhoneGap del InAppBrowser API y funciona perfectamente; sin embargo, quiero ser capaz de borrar la caché de la InAppBrowser después de que alguien hace clic en el local de botón de salir. He intentado añadir «clearcache=yes» y «clearsessioncache=sí», pero no parece hacer nada. Sin borrar la caché cuando alguien intenta iniciar sesión de nuevo en ella valida el símbolo con el que previamente firmado en cuenta. La única manera en que puedo firmar la salida es seguir tratando de inicio de sesión hasta que yo llegue a los permisos de Google de la pantalla y puede cerrar la sesión de forma manual. ¿Hay alguna manera de eliminar todo lo relacionado a la InAppBrowser mediante programación?

Gracias

  • cuando usted está llamando clearcache o clearsessioncache ? antes de volver a abrir el InAppbrowser ?
  • el dispositivo que está utilizando? clearcache o clearsessioncache es sólo para Android.

4 Comentarios

  1. 12

    Como dijo: clearcache or clearsessioncache es sólo para Android. leer esta API Doc

    En caso de Android así que antes de re-apertura:

    window.open("domain.com", "_blank", "location=no,clearsessioncache=yes"); 

    Para iOS: comprobar esto.

    Alternativas:

    1. Borrar la cookie de sesión a través de javascript directamente o indirectamente (marque esteJQuery Cookie de compensación )
    2. Phonegap/Cordova plugin que permite borrar las cookies de webview…ver este
    • Muchas gracias, ya esta resuelto mi problema!
    • Usted bienvenido , es bueno saber que.
    • Esta respuesta es errónea, clearsessioncache y clearcache opciones no solo android, que se añadieron a iOS en abril de 2014, por lo que, como se contestó en diciembre de 2014, ha sido siempre mal. La documentación que se vincula es para una obsoleta de la horquilla de la inAppBrowser plugin, no el apache núcleo de uno github.com/apache/cordova-plugin-inappbrowser
    • Lo siento, pero jcesarmobile es escribir. El postet enlace no funciona éter.
  2. 4

    La respuesta seleccionada es fuera de fecha, ahora se puede utilizar el clearsessioncache bandera en ambos iOS y Andriod. Consulte la documentación aquí:

    https://github.com/apache/cordova-plugin-inappbrowser

    Por lo que la solución correcta es utilizar únicamente

    window.open("domain.com", "_blank", "location=no,clearsessioncache=yes"); 

    En cualquier caso. También tenga en cuenta

    La cadena de opciones no debe contener ningún espacio en blanco, y cada
    la característica de pares de nombre/valor deben estar separados por una coma. Los nombres de las funciones
    son sensibles a mayúsculas y minúsculas.

    • Usted me salvó en el «espacio en blanco» parte!! Gracias 🙂
  3. 1

    Creo que la mejor manera para cerrar la sesión de google en el inAppBrowser es abrir la url

    https://mail.google.com/mail/logout?hl=en

    de él, automáticamente su sesión de google redirigir a la página de inicio de sesión. Si usted necesita para hacer esto haga clic en cualquier botón de la aplicación, se puede abrir el inAppBrowser oculto.

    ventana.open(‘https://mail.google.com/mail/logout?hl=en‘, ‘_blank’,
    ‘hidden=yes’)

    También se puede hacer otra cosa que usted puede abrir este url en modo oculto antes de cada vez que llame a la Oauth url. Esto se asegurará de que su anterior período de sesiones se ha cerrado la sesión de dejar que usted proporciona diferentes Id de inicio de sesión.

  4. -1

    Usted lo desea, puede añadir una etiqueta meta para no-cache en la cabeza.

    Que trabajó para mí.

Dejar respuesta

Please enter your comment!
Please enter your name here