मैं वर्तमान में एक clientside सी # आवेदन के साथ OAuth 2.0 उपयोगकर्ता-एजेंट फ्लो उपयोग करने का प्रयास कर रहा हूँ, और मैं अनुप्रेषित यूआरआई से संबंधित कुछ भ्रम की स्थिति में चल रहा हूँ।OAuth उपयोगकर्ता-एजेंट के साथ फ्लो सी # डेस्कटॉप अनुप्रयोग
क्योंकि मैं एक clientside आवेदन के साथ काम कर रहा हूँ, मैं एक वेब सर्वर के लिए एक मानक रीडायरेक्ट URL प्रदान नहीं कर सकते। हालांकि, लोगों के मुताबिक मैं (इस उदाहरण में सेल्सफोर्स) के साथ प्रमाणित करने की कोशिश कर रहा हूं, उपयोगकर्ता-एजेंट फ्लो क्लाइंटसाइड एप्लिकेशन के लिए उपयोग करने के लिए सही है।
मेरे सवाल है, मैं इस स्थिति में पहुँच टोकन को पकड़ने के लिए क्या कर सकते हैं? जाहिरा तौर पर मैं एक "स्थानीय संसाधन ग्राहक के लिए सुलभ," बना सकते हैं, लेकिन मैं इसके पीछे यांत्रिकी के साथ अपरिचित हूँ, और मैं विषय (आंशिक रूप से, क्योंकि मैं देखने के लिए क्या पता नहीं है) पर किसी भी संसाधन नहीं मिल रहा।
मैं कहाँ देख शुरू कर देना चाहिए के रूप में किसी भी संकेत दिए गए बहुत सराहना की जाएगी।
संपादित करें: कुछ और खुदाई निम्नलिखित stackoverflow सवाल से पता चला है:
How do I develop against OAuth locally?
मैं कुछ और अधिक है कि वे क्या सुझाव के साथ जांच कर कर रहा हूँ, लेकिन किसी भी अन्य सुझावों के साथ-साथ बहुत अच्छा होगा।
संपादित करें: कुछ और सर्च कर रहे हैं इस लेख से पता चला:
http://sarangasl.blogspot.com/2010/09/create-simple-web-service-in-visual.html
फिर भी लगता है जैसे मैं बड़ी तस्वीर की समझ के बिना अंधेरे में चारों ओर poking हूँ, लेकिन मेरा मानना है कि मैं करने की जरूरत है लोकलहोस्ट का उपयोग करके एक स्थानीय वेब सेवा स्थापित करें और वहां मेरे रीडायरेक्ट यूआरआई को इंगित करें। इसके बाद मैं ओएथ सर्वर से प्रतिक्रिया को खोलने के लिए अपनी वेब सेवा का उपयोग करूंगा और मेरा आवेदन उचित रूप से जवाब दे सकता हूं। आने के लिए और अधिक अपडेट।
ओउके। तो जो मैं इकट्ठा करने में सक्षम हूं, उससे मुझे ओएथ के लिए कॉलबैक के रूप में आपूर्ति करने के लिए एक स्थानीय वेब सेवा स्थापित करने की आवश्यकता है। मुझे खुद को वेब सेवा पर सुनना होगा और इसे अपने ऐप पर पास करने के लिए कॉलबैक पकड़ना होगा। हालांकि, VS2010 द्वारा प्रदान की गई डिफ़ॉल्ट एएसपी.NET वेब सेवा यूआरएल पैरामीटर का समर्थन नहीं करती है, केवल एपीआई कॉल, इसलिए मुझे स्पष्ट रूप से डब्लूसीएफ रेस्ट स्टार्टर किट का उपयोग करने की आवश्यकता है।
मैं पूरी तरह से इस सब के लिए विदेशी कर रहा हूँ, इसलिए किसी भी सुझाव दिए गए इस बिंदु पर एक आकस्मिक धन किया जाएगा। आम तौर पर, मुझे लगता है कि मैंने एक स्थानीय डब्ल्यूसीएफ रेस्ट सेवा स्थापित की है, स्थानीय यूआरआई को ओएथ को कॉलबैक के रूप में आपूर्ति करें, और फिर बाकी सेवा का उपयोग कर कॉलबैक यूआरएल को पकड़ें। फिर मैं यूआरएल पार्स करता हूं और एक्सेस टोकन निकालता हूं। इस बिंदु पर, क्या मेरा ऐप एक्सेस टोकन का अनुरोध करता है, या क्या मेरी वेब सेवा मेरे ऐप को टोकन दे सकती है? यानी, नियंत्रण का स्थान कहां होना चाहिए?
यह एक विकल्प होगा। लेकिन सावधान रहें: उपयोगकर्ता आपके वेब ब्राउजर पर कुछ चाल का उपयोग कर सकता है जैसे ब्राउज़र इतिहास, पृष्ठ रीफ्रेश, टाइमआउट, नेटवर्क आउटेज के अंदर आगे और पीछे जा रहा है। आपको सभी HTTP त्रुटि कोड + सभी एम्बेडेड ब्राउज़र गंदे चालों को संभालना होगा। शुभकामनाएँ :) –
प्लस अपने ऐप के यूआई पर विचार करें जो संभवतः सेल्सफोर्स द्वारा प्रस्तावित एक से अलग होगा - और आप अपना डिफ़ॉल्ट नहीं बदल सकते क्योंकि आपके पास इसका नियंत्रण नहीं है। –
उह, आप सही हैं। मुझे अगली एम्बेडेड ब्राउज़र सुरक्षा पर एक नज़र डालना होगा। जहां तक यूआई हालांकि, मेरा ऐप एक पृष्ठभूमि प्रक्रिया है जो कुछ घटनाओं पर पॉपअप उत्पन्न करती है, इसलिए प्रमाणीकरण केवल प्रति ऐप लॉन्च (आमतौर पर प्रति दिन एक बार) के बाद आवश्यक होता है। हालांकि युक्तियों के लिए धन्यवाद, मैं सुरक्षा छेद के बारे में भूल गया जो संभावित रूप से एक एम्बेडेड आईई उदाहरण के साथ खोला जाएगा। – sichinumi