2009-06-18 11 views
7

¿Alguien tiene alguna recomendación para pasar de una única autenticación basada en base de datos personalizada a Open ID? Como trampas y trampas. Realmente me gustaría ofrecer ambos para aquellos que no les gusta/no en OpenID. Esta es una aplicación ASP.Net MVC para el registro.Pasar de la autenticación personalizada al Open ID

Respuesta

6

Puede usar OpenID muy fácilmente en realidad. Siempre que desconecte los datos de la cuenta/perfil del mecanismo de inicio de sesión real, técnicamente debería poder usar cualquiera de ellos o sin problemas. A continuación, podría mantener una tabla de Inicios que podría contener el nombre de usuario y la contraseña (encriptada) para aquellos usuarios a los que les gusta no usar el esquema OpenID. Luego, mantenga sus datos de inicio de sesión (cuando el usuario inició sesión por última vez, etc.) con la tabla Cuentas para que los usuarios puedan usar su sistema de inicio de sesión local o los diversos proveedores de inicio de sesión API de estilo Open ID. Luego, puede crear varias clases para manejar los detalles de fontanería de iniciar sesión a través de su sistema local, iniciar sesión a través de Gmail, iniciar sesión a través de Open ID, etc. Luego, haga que todas estas clases se ajusten a la misma interfaz. Luego, cree una fábrica que maneje los detalles para determinar qué clase usar para iniciar sesión en una cuenta específica manteniendo un registro del método que prefiera en el nivel de Cuentas.

+0

Me gustaría tener una tabla de usuario y una tabla de credenciales, donde los usuarios pueden tener múltiples credenciales. De esta forma, potencialmente, los usuarios pueden tener múltiples OpenID, una InfoCard, etc. Además, puede leer en http://wiki.openid.net/Relying-Party-Best-Practices para obtener más ideas. –

3

Recomiendo no dejar de admitir su método actual de autenticación y, en su lugar, vincular las cuentas de OpenID con su tabla de usuarios actual.

Lo hice recientemente en mi sitio y funciona sin problemas.

This is a great overview of the process from Plaxo.

+0

Bryan También estoy interesado en agregar compatibilidad con mi sistema de inicio de sesión actual ... Vi su sitio web staga.net (en primer lugar, el sitio gr8 y me gusta mucho su integración de identificación abierta) puede por favor ayudarme con la implementación en php ... He leído el resumen básico y las instrucciones en plaxo y también tengo una clase php openid simple ... El único problema que tengo es que no entiendo qué se supone que debo hacer en la clase, ¿cómo supongo? pasar el openid_url y obtener la respuesta del proveedor del servicio ... Ayuda sería muy apreciada ... Gracias – halocursed

+0

He implementado con éxito algo muy similar a SO utilizando http://stevelove.org/projects/dope-openid/ pero Me gusta mucho su enfoque con el uso de botones para cada proveedor de OpenID y además, también lo tiene para Facebook ... ¿Cómo agregó el soporte de Facebook? ¿Puedes ayudarme en eso también? Gracias – halocursed

Cuestiones relacionadas