2009-03-13 20 views
5

¿Es posible utilizar una combinación de sistemas de autenticación en una aplicación web?Combinación de autenticación OpenID y Facebook

Quiero usar OpenId, sin embargo, creo que mis clientes potenciales son más propensos a tener una identificación de Facebook.

Por lo tanto, me pregunto si es posible ofrecer ambos tipos de autenticación.

+0

Por supuesto, es posible si lo construyes desde cero. ¿Estás preguntando si es posible dentro de un marco particular? –

Respuesta

2

¡Para casi todos los idiomas debería haber un Framework! ¡Puede encadenar/ajustar la funcionalidad de esos marcos para determinar sus necesidades!

En pseudocódigo:

if(IsUserValidViaOpenId() || IsUserValidByOwnAuthDB()) ... user auth successful 

Si utiliza Java, Acegi/primavera de Seguridad podría ser la mejor manera (de seguridad que no se inversiva - a través de AOP). ¡Aquí puede usar openID y definir un segundo validador propio para su propio userdb!

0

Algo como esto en la lógica de procesamiento de formularios:

def authenticate(form_info): 
    url = form_info['url'] 
    if (is_facebook_url(url)): 
     return perform_facebook_authentication(form_info) 
    else: 
     return perform_open_id_authentication(form_info) 
2

¿Quieres RPX. Resume todo el lío de OpenID lejos tanto de usted como de sus visitantes. También les permite autenticarse con Facebook o MySpace además de los proveedores de OpenID.

Proporciona una interfaz de inicio de sesión muy similar a la que se ve aquí en Stack Overflow.

+0

Eso es genial, podría probarlo en mi próximo proyecto. ¡Gracias! –

+0

limpio! parece un posible ganador ... –

+3

Y también te hace completamente dependiente de una única fuente externa para toda tu autenticación de usuario. Lea los argumentos en http://blog.nerdbank.net/2009/01/why-using-rpxnow-is-bad-idea.html antes de decidir si usarlo. –

Cuestiones relacionadas