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

StackOverflow https://stackoverflow.com/questions/1968814

  •  21-09-2019
  •  | 
  •  

Pregunta

He añadido recientemente OpenID a mi página web. Pero no sé cómo agregar la función de cierre de sesión.

Por ejemplo, al hacer clic en el botón Iniciar sesión Soy capaz de mostrar la forma de la conexión del proveedor de OpenID seleccionado, por ejemplo, la cuenta de Google. Sin embargo, no sé cómo implementar un botón Cerrar sesión para cerrar la sesión de la cuenta de Google.

Por favor consejo.

¿Fue útil?

Solución

OpenID parte que confía no pueden iniciar sesión de usuario de OP, sólo se puede aplicar de cierre de sesión local. Al igual que PR no puede iniciar una sesión de usuario en OP.

Otros consejos

Los proveedores individuales de OpenID ofrecen diferentes direcciones URL de cierre de sesión a la que el usuario puede ser redirigido.

Google: https://www.google.com/accounts/Logout

Yahoo: https://login.yahoo.com/config/login?logout= 1

Ha habido discusión de permitir OPs de proporcionar estos URL como una parte de la norma; ver este discusión sobre la lista de distribución de OpenID.

creo que estás paradigmas de mezcla (odio esa palabra, pero no puedo pensar en una mejor utilizar ahora mismo). Su enlace de acceso envía al usuario a su proveedor de OpenID para la autenticación, pero no es el usuario que entra a su cuenta de Google que es la parte importante, es acceder a su sitio web, al proporcionar credenciales a través de OpenID. El usuario puede así ya estar registrado para su proveedor de OpenID; no lo hace (no) saber y no tiene que preocuparse.

Del mismo modo, el enlace de desconexión en su sitio debe conectarse el usuario fuera de su sitio solamente, devolviéndolos al mismo estado que antes de que se hace clic en el botón de inicio de sesión. El usuario podría haber cerrado la sesión de su proveedor de OpenID ya; que no saben ni cuidado. Este sitio es un buen ejemplo:.)

Sólo destruir la sesión.

Sólo se puede implementar de cierre de sesión local para OpenID. Como dijo Charles Duffy siempre se puede utilizar URLs específicas, sino que se proporciona el usuario está utilizando un proveedor que conoce la dirección URL de cierre de sesión para. Eso puede ser fustrating si su usuario descubre que todas sus cuentas de Google se registran cuando se desconecte de su sitio web.

La otra manera de mirar el problema es si usted quiere asegurarse de la tala a la persona en su sitio web siempre necesita clave de su contraseña, en lugar de entrar justo a cuando ya está registrado en un proveedor de OpenID.

Este (en mi humilde opinión) proporciona una mejor seguridad si lo están usando desde una terminal pública. Esto asegurará que el usuario que inicia sesión en el siempre necesita revalidar su contraseña.

Para hacer que su realidad es bastante simple, sólo tiene que utilizar la extensión PAPE openid.ns.pape = "http://specs.openid.net/extensions/pape/1.0".
openid.pape.max_auth_age = 0

como parte de la URL cuando se va a iniciar sesión en un proveedor de OpenID.

Más información aquí http://code.google.com/apis/accounts /docs/OpenID.html

A continuación se muestra un truco por el cual puedo cerrar la sesión de Google:

<iframe id="myIFrame" src="" style='display:none;' > 
 function logOutGoogle(){
     document.getElementById('myIFrame').src='https://www.google.com/accounts/Logout';
     timeOut();
 }

Estoy haciendo mi proyecto y atrapado en el problema de cierre de sesión No sé cómo hacer eso como si He resuelto por todos restablecimiento de la cookie porque no sé la cookie que establece el registro en el estado i necesidad de conocerla.

Debe haber creado algunas variables de sesión después de la verificación exitosa del proveedor de OpenID, sólo tiene que destruir esas variables de sesión. No se puede destruir la sesión que se crea por el proveedor de OpenID.

Aquí es una solución fiable para finalizar la sesión en Google y su RP.

Sólo tiene que llamar este URI

https://www.google.com/accounts/Logout?continue=https://appengine.google.com/_ah/logout?continue=https://www.yourapp.com

será cerrar sesión en Google y redirigir de nuevo a su aplicación. Gracias!

Pronto voy a publicar mi solución de cierre de sesión de Windows Live y facebook.com STS.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top