fecha - OpenID: ¿Cómo asociar mejor las cuentas múltiples de OpenID a un usuario?
openid login (4)
OpenID es un mecanismo de autenticación, no un mecanismo de almacenamiento de perfiles. Aún debe tener un identificador único para la persona en su sitio, y debe mantener un registro que almacene el OpenID en relación con ese identificador único de la misma manera que almacenaría una contraseña relacionada con ese identificador único.
Soy un novato en openID. Paso mucho tiempo pensando cuáles son las mejores prácticas para que el usuario tenga la opción de iniciar sesión con varias cuentas habilitadas para OpenID.
(Tengo que aclarar que mi sistema no es un sistema que solo requiere una "autenticación única" para hacer una publicación de blog, sino que es un sistema completo como un sitio de redes sociales, donde un usuario siempre agregará más información y editará el existente. información para "su cuenta personal" ... Por lo tanto, el sistema en sí mismo requiere tener algún tipo de "cuenta" que se asociará con el trabajo que realiza el usuario.)
Dado que no creo una "cuenta de usuario dedicada con contraseña y nombre de usuario para mi sitio" y solo confío en los inicios de sesión de openID, me encontré con el siguiente problema: Cuando el usuario "A" inicia sesión (por primera vez) a través de un "Google Cuenta "entonces todo lo que él haga estará asociado con la cuenta de Google. Cuando regrese y NO haga clic en "Iniciar sesión en la cuenta de Google" sino en "Iniciar sesión en Yahoo", iniciará sesión pero creará / obtendrá una nueva cuenta asociada con Yahoo. Todo lo que hizo con la cuenta de Google parece haberse perdido. La simple emisión de un "nombre de usuario único e independiente de OpenID" (sin contraseña) en mi sitio no funciona: como si pidiera este nombre de usuario único (sin contraseña) al iniciar sesión, todos podrían adivinar el nombre de usuario de otros y asociar un OpenID con ellos. Pero si también tengo que tener una contraseña para este nombre de usuario, entonces terminé donde estábamos en el pasado sin openID: Entonces tengo que emitir al usuario algún tipo de "cuenta maestra" (con usernam y passwort) que pueda, Por conveniencia, asocie con cualquier número de cuentas OpenId. Pero ¿por qué razón tengo que tener OpenID en este caso? Como el usuario debe recordar "mi contraseña maestra y mi ID de usuario" de todos modos ...
=> ¿Significa esto que openID no "directamente" admite la "libre elección" de varias cuentas? Si quiero que los usuarios puedan iniciar sesión (para cada inicio de sesión único) con una cuenta de usuario openID arbitraria, es la única manera de hacerlo de esa manera:
1.) El usuario inicia sesión a través de una "cuenta openID conocida" => eso está bien, no se tiene que hacer nada
2.) El usuario inicia sesión a través de una "cuenta de OpenID desconocida" => "autenticar" al usuario a través del openId "desconocido" (por ejemplo, Yahoo) pero cuando el usuario está de nuevo en mi página, indique al usuario que esto (Yahoo ) la cuenta de openID es desconocida (= no se asocia más trabajo con ella = es como una cuenta nueva) y pregunte, si es posible que haya iniciado sesión la última vez a través de otra cuenta y proporcione la lista de cuentas de openID admitidas. Luego, el usuario puede elegir uno de los proveedores que utilizó la última vez (por ejemplo, Google). Luego, además del inicio de sesión ya hecho (con Yahoo), también tiene que iniciar sesión en la cuenta "más antigua" (Google) que usó la última vez. Entonces, ambas cuentas se "asocian entre sí" y ahora se puede acceder a cualquier trabajo en la cuenta anterior (Google) también a través de la cuenta / inicio de sesión de OpenID más reciente (Yahoo).
¿O hay alguna otra manera de admitir "varias cuentas openID" para UN USUARIO?
(La razón por la que pregunto esto: OpenID no es tan conocido para los usuarios finales normales todavía. Si imprimo una lista grande con los inicios de sesión de Google, de Yahoo a Facebook, habrá muchos usuarios que usen Google para su inicio de sesión inicial, pero la próxima vez que vuelvan, quizás elijan facebook (ya que dejaron el sitio de facebook y es más atractivo hacer clic en el ícono de facebook). Así es como funcionaron los "sitios web" durante los últimos "15 años": solo había una forma. para iniciar sesión: Un campo de entrada de nombre de usuario y un campo de entrada de contraseña. Si imprimo ahora una gran lista de cuentas en las que un usuario tiene una cuenta con cada una de ellas, es posible que inicie sesión con diferentes cuentas en el día a día, sin entender el problema al que esto conducirá. Por lo tanto, el mundo ideal sería que un usuario pueda iniciar sesión a través de una cuenta arbitraria de mi lista de proveedores de OpenID y tenga todas las cuentas "asociadas" entre sí ...
Espero haber podido describir cuál es mi problema.
Realmente aprecio tu ayuda e ideas (mybe estoy completamente mal entendido aquí)
¡Muchas gracias! ene
Parece que tendrías que hacer que el usuario inicie sesión con ambos para conectarlos juntos.
Sí, el usuario tendrá que iniciar sesión con ambos.
- El usuario inicia sesión por primera vez con la cuenta de Google, utiliza la aplicación y se desconecta. La aplicación crea un inicio de sesión interno del usuario (en el usuario de la mesa de grombeestje) y lo asocia con la cuenta de Google. (en la mesa de grombeestje openid)
- Más tarde, el usuario ha iniciado sesión en Yahoo y vuelve a iniciar sesión con la cuenta de Yahoo. Ahora al usuario se le ofrece un paso para identificarse con otros servicios también.
- a. Los usuarios se registran y seleccionan la cuenta de Google.
- segundo. El usuario inicia sesión con la cuenta de Google.
- do. La aplicación agrega la identificación de Google con el inicio de sesión actual.
Además, en cualquier momento cuando el usuario lo desee, puede optar por agregar inicios de sesión a su perfil e identificar sus otros OpenID como Blogger, Facebook, etc. los inicios de sesión locales (en el usuario de la tabla de grombeestje) con la aplicación o fusionarlos en uno.
tenga una tabla en su base de datos con las cuentas de usuario, que incluye una identificación de usuario y una tabla de enlace, que vincule un OpenID a una identificación de usuario.
me gusta
usuarios de la mesa
ID NOMBRE
1 PIET
2 KEES
y
mesa abierta
USERID OPENID
http: // ..... 1
http: // ..... 1
http: // ..... 2
http: // ..... 2