कल, VKontakte ने OAuth 2.0 खुले प्राधिकरण मानक के लिए समर्थन जोड़ा। अब सोशल नेटवर्क के साथ साइटों और क्लाइंट एप्लिकेशन को एकीकृत करना बहुत आसान हो गया है।

नए प्राधिकरण प्रणाली के
प्रलेखन के साथ पृष्ठ पर यह लिखा है कि दो प्रकार के प्राधिकरण समर्थित हैं: सर्वर और क्लाइंट।
किसी बाहरी साइट के प्राधिकरण प्रक्रिया को पारित करने के बाद, डेवलपर सर्वर उपयोगकर्ता के हस्तक्षेप के बिना किसी भी समय VKontakte API के अनुरोधों को पूरा करने में सक्षम होगा। "अनन्त" सत्र प्राप्त करने के लिए, प्राधिकरण संवाद को खोलते समय बस पैरामीटर गुंजाइश = ऑफ़लाइन जोड़ें।
डेस्कटॉप और मोबाइल एप्लिकेशन के लिए क्लाइंट प्राधिकरण भी समर्थित है। OAuth 2.0 प्रोटोकॉल की नवीनता के बावजूद, अब उसकी साइट पर आप सबसे लोकप्रिय प्रोग्रामिंग भाषाओं में लाइब्रेरी पा सकते हैं।
VKontakte में OAuth समर्थन की उपस्थिति के अलावा, एपीआई के साथ बातचीत करने का तरीका बदल गया है। अब सभी अनुरोध सुरक्षित HTTPS प्रोटोकॉल पर भेजे जाते हैं, जिसके परिणामस्वरूप प्रत्येक अनुरोध पर हस्ताक्षर करने की आवश्यकता नहीं होती है।
उदाहरण के लिए, उपयोगकर्ता की दीवार से सार्वजनिक स्थिति प्राप्त करने के लिए, यह पते से संपर्क करने के लिए पर्याप्त है:
https://api.vk.com/method/wall.get?owner_id=1उपयोगकर्ता के निजी डेटा को प्राप्त करने के लिए, केवल access_token पैरामीटर को जोड़कर एक अधिकृत अनुरोध को पूरा करना आवश्यक है। यह प्राधिकरण प्रक्रिया के परिणामस्वरूप प्राप्त मानक एक्सेस कुंजी है।
कई विधियाँ, जैसे कि Wall.get, खुली हो गई हैं और उन्हें प्राधिकरण की आवश्यकता नहीं है, इसलिए मैंने एक छोटा उदाहरण तैयार किया जिसमें यह प्रदर्शित किया गया कि यह कैसे काम कर सकता है:
http://skdy.org/illarionov (पते में आप किसी भी उपयोगकर्ता का संक्षिप्त नाम या आईडी निर्दिष्ट कर सकते हैं।)
वीके प्राधिकरण का एक सरल उदाहरण:
1) जब आप "VKontakte दर्ज करें" बटन पर क्लिक करते हैं, तो आपको फॉर्म के पते पर पुनर्निर्देशित करना होगा:
http://api.vk.com/oauth/authorize?client_id=2271023&redirect_uri=http://skdy.org/illarionov&display=page<button onclick="location.href='http://api.vk.com/oauth/authorize?client_id=2271023&redirect_uri=http://skdy.org/illarionov&display=page';"> </button>
2) उपयोगकर्ता द्वारा आवश्यक कार्रवाई करने के बाद, वह पैरामीटर कोड या त्रुटि और error_desc के साथ निर्दिष्ट कॉलबैक पर पुनर्निर्देशित किया जाएगा यदि कोई त्रुटि होती है।
3) कोड प्राप्त करने के बाद, पहले से ही सर्वर की ओर से आप contact_token पर संपर्क करके प्राप्त कर सकते हैं:
https://api.vk.com/oauth/token?client_id=2271023&code=xxx&client_secret=xxx , जहां आपको client_secret के रूप में एक संरक्षित कुंजी निर्दिष्ट करने की आवश्यकता है, जिसे आप एप्लिकेशन संपादन फ़ॉर्म में प्राप्त कर सकते हैं।
$code = $_GET[ 'code' ];
$secret = 'xxx' ;
$resp = file_get_contents( 'https://api.vk.com/oauth/token?client_id=2271023&code=' .$code. '&client_secret=' .$secret);
$data = json_encode($resp, true );
if ($data[ 'access_token' ]) {
// API
}
* This source code was highlighted with Source Code Highlighter .
बस इतना ही, access_token हमें एपीआई के साथ काम करने की अनुमति देता है।