जब मैं डेस्कटॉप लॉगिन प्रमाणीकरण प्राप्त करने की कोशिश के लिए एक Box.net आवेदन बनाने पर जवाब के लिए चारों ओर खोज रहा था ले लिया अधिक है कि तुलना में यह वास्तव में होना चाहिए ...
तो मैं पर एक साथ एक लेख डाल करने का निर्णय लिया मेरी वेबसाइट जो एक सी # नेट 4.0 डेस्कटॉप एप्लिकेशन बनाने की प्रक्रिया के माध्यम से बात करती है जो लॉगिन और उनके एसडीके के साथ काम कर सकती है। यह उनके नए ओएथ 2.0 लॉगिन सिस्टम का उपयोग कर रहा है।
सबसे पहले हम OAuth 2.0 लॉगिन के लिए UI वेब पेज प्राप्त करने के लिए मानक HttpWebRequest ऑब्जेक्ट का उपयोग करके प्रारंभिक वेब अनुरोध भेजते हैं। एक बार वेब प्रतिक्रिया लौटा दी जाने के बाद, हम इसे अपने वेब ब्राउज़र के उपभोग के लिए स्ट्रीम में परिवर्तित कर देते हैं। रीडायरेक्ट यूआरआई कोई भी HTTPS आधारित यूआरआई हो सकता है।
string baseURI = "https://www.box.com/api/oauth2/authorize?";
string responseType = "&response_type=code";
string clientId = "&client_id=YOUR OWN CLIENT ID";
string redirectURI = "&redirect_uri=https://app.box.com/services/poc_connector";
var targetUri = new Uri(baseURI + responseType + clientId + redirectURI);
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(targetUri);
वेब ब्राउज़र नियंत्रण हम दस्तावेज़ संपत्ति
webBrowser1.DocumentStream = view;
एक बार यह हो जाता है सभी उपयोगकर्ता द्वारा संचालन वेब ब्राउज़र नियंत्रण द्वारा नियंत्रित किया जाता है का उपयोग में स्ट्रीम इंजेक्षन करने के लिए। जब उपयोगकर्ता "अनुदान पहुंच" बटन दबाता है तो प्रमाणीकरण टोकन को कैप्चर करने के लिए। हम वेब-ब्राउजर नेविगेटेड ईवेंट के लिए इवेंट श्रोता जोड़ते हैं।
private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e)
{
if (e.Url.AbsolutePath != "blank" && e.Url.ToString().Contains("&code="))
{
Token = e.Url.ToString().Substring(e.Url.ToString().IndexOf("&code="));
Token = Token.Replace("&code=", String.Empty);
this.Close();
}
}
लिंक अपने मूल लेख और स्रोत कोड: link
क्षमा करें, लेकिन मैं सभी दस्तावेज़ पर समझ में नहीं आता। एथ वी 1 में मैं किसी भी रीडायरेक्ट यूआरएल का उपयोग नहीं कर रहा हूं। मुझे टिकट मिल गया है और टिकट के साथ http://www.box.net/api/1.0/auth पर कॉल करें। – user1466502
क्षमा करें, लेकिन मुझे सभी दस्तावेज में समझ में नहीं आता है। एथ वी 1 में मैं किसी भी रीडायरेक्ट यूआरएल का उपयोग नहीं कर रहा हूं। मुझे टिकट मिल गया है और टिकट के साथ http://www.box.net/api/1.0/auth पर कॉल करें। मैंने https://www.box.net/api/1.0/auth डालने की कोशिश की क्योंकि ओएथ को एक https यूआरएल की आवश्यकता है, लेकिन अगर मैं https://api.box.com/oauth2/authorize?response_type=code&client_id= { मेरा ग्राहक आईडी}, मुझे त्रुटि मिलती है: invalid_client। मैं देख सकता हूं कि क्लाइंट_आईडी V1 api_key जैसा ही मान है, इसलिए यह एथ वी 1 के साथ काम करता है, मैं ओथ के साथ फंस गया हूं। यदि किसी के पास एक साधारण बॉक्स खाते में लॉगिन करने के लिए एक ठोस उदाहरण है, तो अत्यधिक सराहना की! – user1466502
@ user1466502, आपका एप्लिकेशन डेस्कटॉप या वेब?Redirect_uri के रूप में सेट करने का प्रयास करें किसी भी https यूआरएल (यहां तक कि मौजूद नहीं है)। इनपुट लॉगिन/पीडब्ल्यूडी डेटा के बाद और आपको बॉक्स.com से प्रतिक्रिया प्राप्त करने की अनुमति मिलती है, जिसमें डिफ़ॉल्ट रूप से बॉक्स.com पर रीडायरेक्ट होगा, लेकिन आपके यूआरएल और कोड के साथ प्रतिक्रिया शरीर में कुछ टैग (अगर मैं गलती नहीं करता हूं: iframe) मूल्य –