Actualmente estoy debatiendo si debo usar el inicio de sesión de OpenID para uno de mis sitios web. OpenID puede ser más difícil de implementar porque ya tengo el código de registro y de inicio de sesión escrito, pero esto es solo una consideración de tiempo. ¿Qué ventajas y desventajas hay al usar OpenID en contraste con, por ejemplo, un sistema de cuenta de usuario de sitio web tradicional?¿Cuáles son las ventajas y desventajas de usar OpenID?
Respuesta
Ventajas
que tienen un inicio de sesión único, que es en realidad muy bien, en especial para las personas que tienen una gran cantidad de cuentas aquí y allá.
El servidor de apertura proporciona información básica sobre el usuario, ahorrándose la necesidad de escribir siempre la información básica habitual. En este sentido, guarda la molestia para sus usuarios.
Mejora bastante el mecanismo tradicional de usuario/pase. Hay muchos sitios que ofrecen ambos sistemas al mismo tiempo.
Mueve la confianza de la honestidad de varias partes a una sola. Por el momento, no sé si alguno de los sitios en los que estoy registrado guarda mi contraseña en texto claro para robarla e intenta usarla en otros sitios suponiendo que tengo la misma contraseña.
La ventaja técnica de la delegación. No está obligado a usar el mismo proveedor. Puedes cambiar
Desventajas
usted todavía tiene que dar de usuario/contraseña para aquellos que no entienden el nuevo paradigma o que no tiene un OpenID (tal vez lo tienen, pero que no saben) . Si se trata de una amplia gama de personas que estás tratando de abordar, entonces podrías ahuyentarlas.
Además, no lo usaría para nada serio. No confío en que mi banco me pida que inicie sesión con mi openid, sino también en muchos sitios de comercio electrónico. Está bien para cosas sin importancia.
El proveedor de código abierto puede rastrear los hábitos del usuario, ya que reciben todas las solicitudes de autenticación. Es por eso que implementé mi proveedor personal.
Finalmente, por lo que pude ver, muchos casos de servidores abiertos mueven la contraseña en texto claro, pero esta es mi comprensión y podría estar equivocado. Desplegué mi propio proveedor de OpenID, y fui muy bien para que la contraseña se transportara a través de https, incluso si mi openid está marcado como http
La principal ventaja que veo, aunque no necesariamente se aplica en su caso si quiero mantener su sistema actual, es que no tengo que preocuparme por almacenar contraseñas.
Demasiadas personas usan la misma contraseña (o un pequeño conjunto de contraseñas) para todo, así que si mi sitio se vio comprometido (y espero que tenga suficiente habilidad para evitarlo, pero la seguridad es un multicapas bestia, entonces cualquier cosa para agregar seguridad adicional es buena en mi libro) entonces el atacante no pudo obtener la contraseña.
Para el usuario, ahora puede legítimamente tener solo una contraseña para todo. Usan un proveedor de OpenID en el que confían en lugar de tener que confiar en cualquier Tom Dick o Harry en Internet con un sitio web.
Bien tomando SO como ejemplo, es compatible con ambos. Ingreso usando mi cuenta de Google a través de OpenID, pero aún necesito tener una cuenta/nombre de usuario para vincular a mi OpenID.Supongo que solo permite los inicios de sesión a través de OpenID, pero no que sus usuarios inicien sesión utilizando su sitio como un servidor OpenID.
Para aclarar las cosas; Puede usar una gran cantidad de su código de inicio de sesión/cierre de sesión y lo necesitará porque la única diferencia es que se autentica a través de un tercero en lugar de su propia base de datos. En pseudocódigo imagínese esto:
authenticate_from_db(String username, String password)
{
fetch username and password where username = username
if username = username and password = hash_of(password)
{
return true;
}
else
{
return false;
}
}
authenticate_from_openid(String openId_provider)
{
provider = contact_openID_provider(openID_provider)
if(provider)
{
login.username = map(returned_user, your_db)
return true
}
else
{
return false;
}
}
Como ve, la mayor parte del proceso de autenticación se modifica mientras que el suyo también se sigue utilizando.
La ventaja es bastante claro:
- Permitir a los usuarios iniciar sesión con cuentas existentes a través de su proveedor de OpenID.
- Sus usuarios existentes podrían opcionalmente inicio de sesión a través de su proveedor de OpenID
Las desventajas son (me podría imaginar):
- proveedores de OpenID hostiles (? Spam) autenticar sus spam etc
- Otro seguridad preocupaciones al permitir que un tercero autentique a sus usuarios
Quiero subrayar que el soporte de OpenID no debería cambiar nada para sus usuarios existentes.
Los usuarios de OpenID aún deben tener una cuenta, solo están autenticados por un tercero.
- 1. ¿Cuáles son las ventajas y desventajas de usar esquemas XML?
- 2. ¿Cuáles son las ventajas y desventajas de usar boost :: iterator_facade?
- 3. ¿Cuáles son las ventajas y desventajas de usar el GAC?
- 4. ¿Cuáles son las ventajas/desventajas de usar Maven?
- 5. ¿Cuáles son las ventajas y desventajas del Patrón de propiedades?
- 6. ¿Cuáles son las ventajas y desventajas del autohospedaje?
- 7. Postgresql enum ¿Cuáles son las ventajas y desventajas?
- 8. ¿Cuáles son las ventajas de usar Qt?
- 9. ¿Cuáles son las ventajas de usar Automapper?
- 10. ¿Cuáles son las ventajas y desventajas de usar una red de entrega de contenido (CDN)?
- 11. Ventajas y desventajas de usar java rmi
- 12. ¿Cuáles son las ventajas y desventajas de usar el patrón de controlador frontal?
- 13. ¿Cuáles son las ventajas y desventajas de usar Socket en IPC
- 14. ¿Cuáles son las ventajas y desventajas de usar servicios sobre componentes?
- 15. MSpec y SpecFlow cuándo usar qué? ¿Cuáles son las ventajas/desventajas de cualquiera?
- 16. Ventajas y desventajas de usar Enterprise Library
- 17. ¿Cuáles son las ventajas de usar SVN sobre CVS?
- 18. Ventajas y desventajas de NHibernate
- 19. ¿Cuáles son las desventajas de H264?
- 20. ¿Cuáles son las ventajas/desventajas de usar Add-on SDK para desarrollar mi extensión de Firefox?
- 21. Ventajas y desventajas de DotNetNuke?
- 22. ¿Cuáles son las ventajas/desventajas de usar el método declarativo versus el método programático con ASP.Net?
- 23. ¿Cuáles son las ventajas de usar un errback?
- 24. ¿Cuáles son las ventajas y desventajas de definir rutas Camel en Spring xml?
- 25. Cuáles son las desventajas de Typed DataSets
- 26. Ventajas y desventajas de BPMN?
- 27. ¿Cuáles son las ventajas y desventajas de la arquitectura basada en plug-ins?
- 28. ¿Cuáles son las desventajas de usar SqlServer Views?
- 29. ¿Cuáles son las ventajas y desventajas de las mejores prácticas para usar una única base de datos?
- 30. ¿Cuáles son las ventajas/desventajas entre R y MATLAB con respecto al aprendizaje automático?
De hecho, OpenID forma el elemento de autenticación (quiénes son). La cuenta de usuario en su aplicación define el elemento de autorización (lo que pueden hacer). –