Saltar al contenido

¿Cómo cerrar sesión en una aplicación en la que usé OAuth2 para iniciar sesión con Google?

Hola usuario de nuestra web, encontramos la solución a lo que buscas, has scroll y la encontrarás un poco más abajo.

Solución:

Descripción general de OAuth: ¿Es el usuario quien dice ser?:

No estoy seguro de si usó OAuth para iniciar sesión en Stack Overflow, como la opción “Iniciar sesión con Google”, pero cuando usa esta función, Stack Overflow simplemente le pregunta a Google si sabe quién es usted:

“Oye, Google, este tipo de Vinesh afirma que [email protected] es el, es ese true?”

Si ya ha iniciado sesión, Google dirá SÍ. Si no, Google dirá:

“Espera un segundo Stack Overflow, autenticaré a este tipo y si puede ingresar la contraseña correcta para su cuenta de Google, entonces es él”.

Cuando ingresa su contraseña de Google, Google le dice a Stack Overflow que usted es quien dice ser, y Stack Overflow lo inicia sesión.

Cuando cierras sesión en tu aplicación, estás saliendo de tu aplicación:

Aquí es donde los desarrolladores nuevos en OAuth a veces se confunden un poco… Google y Stack Overflow, Assembla, Vinesh’s-very-cool-slick-webapp, son todas entidades diferentes, y Google no sabe nada acerca de su cuenta en la genial aplicación web de Vinesh, y viceversa. viceversa, además de lo que se expone a través de la API que está utilizando para acceder a la información del perfil.

Cuando su usuario cierra la sesión, no está saliendo de Google, está saliendo de su aplicación, Stack Overflow, Assembla o cualquier aplicación web que haya usado Google OAuth para autenticar al usuario.

De hecho, puedo cerrar sesión en todas mis cuentas de Google y seguir conectado a Stack Overflow. Una vez que su aplicación sepa quién es el usuario, esa persona puede cerrar sesión en Google. Google ya no es necesario.

Dicho esto, lo que está pidiendo hacer es desconectar al usuario de un servicio que realmente no le pertenece. Piénselo de esta manera: como usuario, ¿qué tan molesto cree que me sentiría si iniciara sesión en 5 servicios diferentes con mi cuenta de Google y luego, la primera vez que saliera de uno de ellos, tuviera que iniciar sesión en mi cuenta de Gmail? otra vez porque el desarrollador de la aplicación decidió que, cuando cierre sesión en su aplicación, también debería cerrar sesión en Google? Eso va a envejecer muy rápido. En resumen, usted realmente no quiero hacer esto

Sí, sí, lo que sea, todavía quiero cerrar la sesión del usuario de Google, solo dime, ¿cómo hago esto?

Dicho esto, si Ud. todavía lo hacen desea desconectar a un usuario de Google y se da cuenta de que es muy posible que esté interrumpiendo su flujo de trabajo, puede crear dinámicamente la URL de cierre de sesión desde uno de sus botones de cierre de sesión de servicios de Google y luego invocarlo usando un elemento img o una etiqueta de secuencia de comandos:


O

window.location = "https://mail.google.com/mail/u/0/?logout&hl=en";

Si redirige a su usuario a la página de cierre de sesión, o lo invoca desde un elemento que no está restringido entre dominios, se cerrará la sesión del usuario en Google.

Tenga en cuenta que esto no significa necesariamente que se cerrará la sesión del usuario tu aplicación, solo Google. 🙂

Resumen:

Lo que es importante que tenga en cuenta es que, cuando cierra sesión en su aplicación, no necesita hacer que el usuario vuelva a ingresar una contraseña. ¡Ese es todo el punto! Se autentica frente a Google para que el usuario no tenga que introducir su contraseña una y otra vez en cada aplicación web que utiliza. Lleva un tiempo acostumbrarse, pero sepa que, siempre que el usuario haya iniciado sesión en Google, su aplicación no necesita preocuparse por si el usuario es o no quien dice ser.

Tengo la misma implementación en un proyecto que tú, usando la información del perfil de Google con OAuth. Intenté exactamente lo mismo que está buscando probar, y realmente comenzó a enojar a las personas cuando tenían que iniciar sesión en Google una y otra vez, por lo que dejamos de cerrar la sesión de Google. 🙂

Puede cerrar la sesión y redirigir a su sitio:

var logout = function() 
    document.location.href = "https://www.google.com/accounts/Logout?continue=https://appengine.google.com/_ah/logout?continue=http://www.example.com";

Para mí, funciona (java - android)

void RevokeAcess()

    try
    HttpClient client = new DefaultHttpClient();
    HttpPost post = new HttpPost("https://accounts.google.com/o/oauth2/revoke?token="+ACCESS_TOKEN);
    org.apache.http.HttpResponse response = client.execute(post);
    
    catch(IOException e)
    
    
    CookieManager.getInstance().removeAllCookie(); // this is clear the cookies which tends to same user in android web view

Tienes que llamar a esta función en AsyncTask en Android

Reseñas y puntuaciones

Si posees algún recelo y capacidad de ascender nuestro noticia puedes añadir una nota y con deseo lo interpretaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 2 Promedio: 4.5)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *