2009-03-13 17 views
5

È possibile utilizzare una combinazione di sistemi di autenticazione in un'app Web?Combinazione di autenticazione OpenID e Facebook

Voglio usare OpenId, tuttavia penso che i miei potenziali clienti abbiano in realtà più probabilità di avere un ID di Facebook.

Quindi mi chiedo se sia possibile offrire entrambi i tipi di autenticazione?

+0

Ovviamente è possibile se lo costruisci da zero - stai chiedendo se è possibile all'interno di un particolare framework? –

risposta

2

Per quasi tutte le lingue dovrebbe esserci un Framework! Puoi concatenare/incapsulare le funzionalità di questi framework per soddisfare le tue esigenze!

In pseudocodice:

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

Se si utilizza java, Acegi/Primavera di sicurezza potrebbe essere il modo migliore (titolo che non sia inversivo - via AOP). Lì puoi usare openID e definire un proprio secondo validatore per il tuo userdb!

0

Qualcosa di simile nella vostra logica di elaborazione modulo:

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

Volete RPX. Estrae tutto il casino di OpenID lontano da te e dai tuoi visitatori. Inoltre consente loro di autenticarsi con Facebook o MySpace in aggiunta ai provider OpenID.

Fornisce un'interfaccia di accesso molto simile a quella che si vede qui su Stack Overflow.

+0

È fantastico - potrei provarlo nel mio prossimo progetto. Grazie! –

+0

pulito! sembra un possibile vincitore ... –

+3

E ti rende anche completamente dipendente da una singola fonte esterna per tutta l'autenticazione dell'utente. Si prega di leggere gli argomenti su http://blog.nerdbank.net/2009/01/why-using-rpxnow-is-bad-idea.html prima di decidere se usarlo. –

Problemi correlati