ओथ 2 की आवश्यकता होने के अलावा, क्लाइंट_सेक्रेट को इस चरण में उपयोग करने की आवश्यकता है ताकि आप यह सत्यापित कर सकें कि आप वास्तव में कौन हैं।
यह सब क्यों प्रक्रिया है यह है की तरह करने पर निर्भर करता ...
'कोड' आप पहली बार अनुरोध से वापस पाने के उसके अपने पर एक सुरक्षा के दृष्टिकोण से बहुत कमजोर है। यह रीडायरेक्ट लिंक में आपके रास्ते पर वापस अपहरण कर सकता है, जिसे मैंने अक्सर एसएसएल सुरक्षा के बिना लैंडिंग पृष्ठों पर देखा है। भले ही आप अपनी साइट के बावजूद 100% HTTPS हैं, सब कुछ पूरी तरह से सुरक्षित नहीं है। किसी को आपके वेब सर्वर के एक्सेस लॉग के अंदर लॉग इन करने वाले अनुरोध URL को देखने से कोड मिल सकता है।
भले ही आपको सबसे सख्त सुरक्षा माहौल मिल गया है, बकिंघम पैलेस के इस तरफ से आप सर्वर तक पहुंच नियंत्रित कर रहे हैं, यदि आप कुछ वर्षों से अधिक तकनीकी रोडियो पर सवारी कर रहे हैं, तो आप जानते हैं कि किसी ने कुछ बिंदु 'संग्रह' आपके लॉग कहीं से कम-से-कम सुरक्षित हैं। शायद यूएसबी कुंजी पर उन्होंने स्टारबक्स पर पीछे छोड़ा ...
यदि आप सर्वर साइड एपीआई प्रवाह का उपयोग कर रहे हैं तो इससे बचने के लिए कुछ भी नहीं किया जा सकता है। क्लाइंट ब्राउज़र के अंदर चल रहे जावास्क्रिप्ट के विपरीत, हैश को लॉग इन होने से रोकने के लिए आपके पास टेम्प कोड जोड़ा नहीं जा सकता है, क्योंकि ब्राउज़र क्लाइंट अनुरोध के साथ हैश चिह्न से पहले कुछ भी नहीं भेजते हैं। जेएस रीडायरेक्ट यूआरएल को रोक सकता है, और हैश टैग के बाद सामान को पार्स कर सकता है, यही कारण है कि जेएस ओउथ 2 प्रवाह है जो अतिरिक्त मध्यवर्ती कोड गीत और नृत्य के साथ आसानी से access_token देता है। जेएस पक्ष पर कोई क्लाइंट_Secret की आवश्यकता नहीं है, जो कि जब आप जावास्क्रिप्ट के अंदर पासवर्ड और गुप्त कुंजी डालते हैं तो यह सामान्य रूप से फहराया जाता है।
अब, इस मध्यस्थ कोड को एक बुरे व्यक्ति द्वारा उपयोग टोकन प्राप्त करने के लिए उपयोग करने से रोकने के लिए, क्लाइंट_आईडी और क्लाइंट_Secret को भेजा जाता है ताकि एपीआई सर्वर प्रमाणित कर सके कि आप कौन हैं और आप हैं access_token के लिए कोड को रिडीम करने के लिए प्राधिकरण। साझा साझा रहस्य कुछ भी नहीं!
चूंकि कोड की समयसीमा समाप्त होने से पहले उपयोग की बहुत छोटी खिड़की है - मूल रूप से इसका मतलब है कि इसे तुरंत एक्सेस_टोकन के लिए रिडीम करना है - कोड चोरी करने वाले व्यक्ति का खतरा और क्लाइंट_Secret बल को बल देने की कोशिश करना संभव नहीं है ।
उपयोग की एक छोटी खिड़की और client_secret (बेशक SSL पर) के संयोजन जो आप बाद में आप ग्राहक साख
एक्सेस टोकन का अनुरोध करते समय गुप्त कुंजी भेजने के लिए [OAuth 2.0 spec] (http://tools.ietf.org/html/draft-ietf-oauth-v2-21) में कोई आवश्यकता नहीं है। –