2009-03-13 13 views
5

क्या वेब ऐप में प्रमाणीकरण सिस्टम के संयोजन का उपयोग करना संभव है?प्रमाणीकरण संयोजन ओपनआईडी और फेसबुक

मैं ओपनआईडी का उपयोग करना चाहता हूं, हालांकि मुझे लगता है कि मेरे संभावित ग्राहकों को वास्तव में एक फेसबुक आईडी होने की अधिक संभावना है।

इसलिए मुझे आश्चर्य है कि दोनों प्रकार के प्रमाणीकरण की पेशकश करना संभव है?

+0

बेशक यह संभव है यदि आप इसे स्क्रैच से बनाते हैं - क्या आप पूछ रहे हैं कि यह किसी विशेष ढांचे के भीतर संभव है या नहीं? –

उत्तर

2

लगभग हर भाषा के लिए एक फ्रेमवर्क होना चाहिए! आप अपनी जरूरतों को पूरा करने के लिए उस ढांचे की कार्यक्षमता को चेन/लपेट सकते हैं!

स्यूडोकोड में:

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

आप जावा का उपयोग करते हैं, Acegi/स्प्रिंग सुरक्षा का सबसे अच्छा तरीका हो सकता है (सुरक्षा जो विपरीत नहीं है - AOP के माध्यम से)। वहां आप ओपनआईडी का उपयोग कर सकते हैं और अपने यूजर डीबी के लिए अपना दूसरा वैलिडेटर परिभाषित कर सकते हैं!

3

Facebook has joined the OpenID foundation, तो शायद वे जल्द ही ओपनआईडी लागू कर रहे होंगे (इस मामले में केवल ओपनआईडी का उपयोग करना बेहतर हो सकता है)। आपके प्रपत्र संसाधन तर्क में

0

कुछ इस तरह:

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

आप RPX चाहते हैं। यह ओपनआईडी की पूरी गड़बड़ी को आप और आपके आगंतुकों दोनों से दूर करता है। यह ओपनआईडी प्रदाताओं के अलावा फेसबुक या माइस्पेस के साथ प्रमाणित करने देता है।

यह एक लॉगिन इंटरफ़ेस प्रदान करता है जो आप यहां स्टैक ओवरफ़्लो पर देखते हैं।

+0

यह बहुत अच्छा है - मैं इसे अपनी अगली परियोजना में आजमा सकता हूं। धन्यवाद! –

+0

साफ! एक संभावित विजेता की तरह दिखता है ... –

+3

और यह आपको अपने सभी उपयोगकर्ता प्रमाणीकरण के लिए एक बाहरी स्रोत के आधार पर पूरी तरह से बनाता है। इसका उपयोग करने का निर्णय लेने से पहले कृपया http://blog.nerdbank.net/2009/01/why-using-rpxnow-is-bad-idea.html पर तर्क पढ़ें। –

संबंधित मुद्दे