una todos tengo sesion saber porque los inicio iniciar google eliminar dispositivos cómo cuál cuenta cual como cierra cerrar automaticamente openid logout account

openid - todos - cerrar sesión y redirigir la cuenta de Google



no tengo cuenta de google (7)

Como he dedicado una gran cantidad de tiempo a este problema de inicio / cierre de sesión en Google para mi aplicación (que es un servidor Node / MongoDB, utilizando masivamente Google Docs y API de Google Script), tuve que compartir mis resultados aquí.

La única buena manera de cerrar la sesión completamente al usuario es usar esto:

var newWindow = window.open(''https://mail.google.com/mail/?logout&hl=fr'',''Disconnect from Google'',''width=100,height=50,menubar=no,status=no,location=no,toolbar=no,scrollbars=no,top=200,left=200''); setTimeout(function(){ if (newWindow) newWindow.close(); window.location="auth/google"; },3000);

Si usa la solución que se indica anteriormente por ira, está haciendo un cierre de sesión parcial que parece en la pestaña actual del navegador. Lo que significa que si el usuario cierra la pestaña y vuelve a abrir la aplicación, todavía se registrará en la cuenta anterior.

Tuve que usar una ventana externa porque no pude redirigir correctamente a mi aplicación después de cerrar la sesión de la cuenta de Google de correo electrónico. Esta solución funciona la mayoría de las veces, si el ancho de banda del usuario no es demasiado lento, dejando que transcurran 3 segundos antes de cerrar la ventana emergente. Luego, se requiere que el usuario inicie sesión con otra cuenta en la aplicación de mi ventana principal.

Esto confirma la solución de hilipilificación floccinaucini y tal vez la solución iframe dada anteriormente debería ser mejor que la mía.

Estoy usando openid para iniciar sesión en el usuario. (Solo cuenta de google). Ahora tengo un enlace de cierre de sesión en mi página, que al hacer clic, quiero que el usuario cierre la sesión de las cuentas de Google y que la página sea redirigida a mi página de inicio. Se puede hacer esto ??

Editar-
Cambiar la respuesta aceptada porque ahora Google permite redireccionar [continuar] a cualquier dominio que desee.


Esto es lo que hago, no recuerdo si lo inventé o lo encontré en alguna parte ... Funciona como un amuleto ... aparte del hecho de que te desconecta de todos los sitios de Google (no puedo creer que no proporcione una forma adecuada de hacerlo, pero ahí lo tiene).

<script> function makeFrame(domId,url) { ifrm = document.createElement("IFRAME"); ifrm.setAttribute("src", url); ifrm.setAttribute("id", domId); ifrm.setAttribute("style", "display:none;"); ifrm.style.width = 1+"px"; ifrm.style.height = 1+"px"; document.body.appendChild(ifrm); } function logOutGoogle(){ makeFrame(''googleLogoutIFrame'',''https://www.google.com/accounts/Logout''); } $(window).ready(function() { logOutGoogle(); }); </script>


He estado tratando de hacer lo mismo. Solo para aplicaciones de google -
Para cerrar sesión pruebe las siguientes dos opciones:
1) Utilizando i-frame -

<iframe src="https://mail.google.com/a/YOURDOMAIN.IN/?logout&hl=en" width="100%" height="300"> <p>Your browser does not support iframes.</p> </iframe>

2) Usando Javascript -

<script type="text/javascript"> window.open(''https://mail.google.com/a/YOURDOMAIN.IN/?logout&hl=en'',''logout_from_google'',''width=600,height=300,menubar=no,status=no,location=no,toolbar=no,scrollbars=no,top=20,left=20''); </script>


He resuelto este problema llamando a esta función cuando el usuario hace clic en el enlace de cierre de sesión:

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

Cuando el usuario hace clic en el enlace, el navegador lo redirecciona a la página de cierre de sesión y solo cuando se cierra la sesión, se redirige al sitio " http://www.example.com ".

Espero que esto pueda ayudar.


No sé si lo que hice fue correcto. Pero logré usar un código como este:

<a class="btn btn-default navbar-btn text-white" id="signOut" href="../home.html" onclick="signOut(''https://www.google.com/accounts/Logout'');">Sign out</a> <script> function signOut() { var auth2 = gapi.auth2.getAuthInstance(); auth2.signOut().then(function () { console.log(''User signed out.''); }); } firebase.auth().signOut().then(function() { // Sign-out successful. alert(''You have Signed Out. Please Sign In''); }).catch(function(error) { // An error happened. alert(''An error happened''); }); </script>


Solo tenía que hacer lo mismo, cerrar la sesión del usuario. de alguna manera la respuesta aceptada no funciona para mí, recibí un error de google

The page you requested is invalid.

así que terminé poniendo esto en mi página:

<img src="https://www.google.com/accounts/Logout" />

que cierra con éxito la sesión del usuario. source


Desafíos

Al solicitar https://www.google.com/accounts/Logout cerrará la sesión del usuario. Hay un parámetro continueUrl que Google agrega a esa dirección a veces, pero solo logrará redireccionar al usuario cuando el objetivo sea un sitio de Google y no el suyo. Esto hace que el enfoque sea inutilizable.

Además, la especificación OpenID no incluye el cierre de sesión global en este momento.

Hay otra manera:

Sugerencia

Incluya un IFrame en su página y use el controlador de eventos onClick JavaScript en el enlace de cierre de sesión para cargar https://www.google.com/accounts/Logout en el IFrame. Después de eso (es posible que desee comprobar si IFrame se cargó correctamente), redirija al usuario a un procedimiento de cierre de sesión para su propio sitio. Después de cerrar sesión, deja que la página redirija a tu página de inicio.

El enlace podría verse un poco así:

<a href="https://www.google.com/accounts/Logout" onclick="myIFrame.location=''https://www.google.com/accounts/Logout'';StartPollingForCompletion();return false;"> log out</a> <iframe id="myIFrame"></iframe>

StartPollingForCompletion() implementar la función StartPollingForCompletion() para verificar periódicamente si la página de cierre de sesión se ha cargado. use setTimeout() para setTimeout() tiempo de la encuesta, y verifique si hay alguna propiedad en el IFrame (no estoy seguro de cuáles funcionarán, porque está trabajando en otro sitio).

Vea también estas preguntas:

OpenID. ¿Cómo se desconecta?

¿Cómo agregar la función de cierre de sesión a un sitio habilitado para OpenID?