2012-10-01 16 views
8

प्रमाणीकरण के लिए निम्न समाधान को आर्किटेक्ट करने का सबसे अच्छा तरीका क्या है?क्रॉस प्लेटफ़ॉर्म सर्विसस्टैक प्रमाणीकरण

मेरे पास एक स्टैंडअलोन (एमवीसी के साथ एकीकृत नहीं है) सर्विसस्टैक आरईएसटी सेवा परत है। यह सेवा मेरे सभी डेटा का प्रवेश बिंदु है। ग्राहक पर कोई डेटा संग्रहीत नहीं किया जाता है।

मेरे पास कई क्लाइंट हैं (एएसपी.नेट एमवीसी 4 साइट, मोनो टच ऐप, मोनोडायड ऐप, सिल्वरलाइट ऐप, मोनोमैक ऐप आदि)।

मैं सेवा स्तर पर प्रमाणीकरण (फेसबुक, ट्विटर, आदि) प्रदान करना चाहता हूं, जिसमें मोंगो डीबीथ रिपोजिटरी में उपयोगकर्ताओं को संग्रहीत करना शामिल है, लेकिन ग्राहकों को लॉगिन UI प्रदान करने की अनुमति है (क्या मुझे यह चाहिए?)। उदाहरण के लिए, एमवीसी साइट के लिए, मैं एमवीसी की प्रमाणीकरण प्रणाली के साथ रिमोट सर्विसस्टैक प्रमाणीकरण सेवा (फेसबुक, ट्विटर सहित) को एकीकृत करना चाहता हूं। ऐसा लगता है कि वास्तविक प्रमाणीकरण सेवा पक्ष पर होना चाहिए, लेकिन क्लाइंट पक्ष को प्रमाणीकरण प्रतिक्रिया को पकड़ने की आवश्यकता है।

मैं विकि पढ़ा है, SocialBootstrap को देखा, और मंच पढ़ा है, लेकिन मैं अभी भी यह कैसे एक वितरित तरीके से काम करने के लिए माना जाता है के रूप में उलझन में हूँ।

उत्तर

5

अपने प्रमाणीकरण एक ब्राउज़र में होना चाहिए के रूप में वे प्रत्येक अपने सम्मान प्रमाणन प्रदाता से पुनर्निर्देशन की आवश्यकता होती है प्रत्येक उपयोगकर्ता से भरोसा सत्यापन कब्जा करने के लिए ट्विटर + फेसबुक जैसी OAuth विकल्पों के लिए। कुछ मोबाइल ऐप्स ट्विटर + एफबी ऑथ के लिए ब्राउज़र विजेट एम्बेड करके ऐसा करते हैं।

एक बार उपयोगकर्ता को एक ही प्रमाणीकृत सत्र में ट्विटर + फेसबुक और प्रमाण पत्र के साथ प्रमाणित किया जाता है, ServiceStack's AuthProviders स्वचालित रूप से एक ही खाते में सभी ऑथ जानकारी विलय कर देता है। तो बाद में आप 1 प्रमाणन प्रदाता के साथ के लिए लॉग इन लेकिन सभी 3. SocialBootstrapApi परियोजना इस का एक उदाहरण देता पर उपलब्ध जानकारी तक पहुँच प्राप्त करने में सक्षम हो जाएगा।

+1

हिस्सा मैं याद कर रहा हूँ है, अगर मैं ब्राउज़र में अमेरिकन प्लान/ट्विटर प्रमाणन करना (ग्राहक पर और इसके परिणामस्वरूप, (MVC/मोबाइल/आदि)) की ओर, मैं कैसे पारित है कि ServiceStack दूरस्थ सेवा करने के लिए प्रमाणन ? –

+1

ServiceClient सिर्फ 'एस एस-pid' कुकी जो परोक्ष BasicAuth/DigestAuth का उपयोग करके सौंपा जा सकता है या स्पष्ट रूप से सौंपा एक सीधा साथ फोन'/प्रमाणन/* 'सेवा निर्दिष्ट करने के लिए की जरूरत है। नहीं तो आप शारीरिक रूप से ServiceClient कुकी जोड़ सकते हैं, इसकी सिर्फ एक base62 इनकोडिंग AuthSessionId GUID – mythz

+4

ठीक है, मैं इस काम करने के लिए प्राप्त करने की कोशिश कर रहा है, लेकिन मुझे लगता है मैं कर रहा हूँ * अभी भी * कुछ कमी। उपयोगकर्ता फोन पर ट्विटर/फेसबुक में लॉग इन करता है, और उसके बाद मेरी सर्विसस्टैक सेवा के साथ पंजीकरण करने की कोशिश करता है या उस सेवा तक पहुंचने की कोशिश करता है जिसके लिए ऑथ की आवश्यकता होती है। सेवा पर क्या लेखक प्रदाता? पास करने के लिए क्या पैरामीटर? सेट करने के लिए क्या पासवर्ड? http://imageshack.us/a/img84/5415/servicestackoauthfromcl.png http://imageshack.us/a/img607/5415/servicestackoauthfromcl.png –

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