क्षमा करें, @MarkAmery और Eugene, लेकिन यह गलत है।
ब्राउज़र में आपका js + html (क्लाइंट) ऐप चल रहा है जो अनधिकृत डायरेक्ट कॉल को एपीआई में बाहर करने के लिए सेट किया जा सकता है:
- पहला कदम: प्रमाणीकरण की आवश्यकता के लिए एपीआई सेट करें। ग्राहक पहली बार सर्वर (या कुछ अन्य सुरक्षा सर्वर) के माध्यम से ही प्रमाणित अवश्य करना चाहिए , उदाहरण के लिए मानव उपयोगकर्ता पूछ सही पासवर्ड प्रदान करने के लिए।
प्रमाणीकरण से पहले एपीआई को कॉल स्वीकार नहीं की जाती हैं।
प्रमाणीकरण के दौरान एक "टोकन" लौटाया जाता है।
प्रमाणीकरण के बाद केवल एपीआई "प्रमाणीकरण" के साथ एपीआई कॉल को स्वीकार किया जाएगा।
बेशक इस स्तर पर केवल अधिकृत उपयोगकर्ता जिनके पास पासवर्ड है वे एपीआई तक पहुंच सकते हैं, हालांकि यदि वे प्रोग्रामर ऐप को डिबग कर रहे हैं, तो वे इसे सीधे परीक्षण के उद्देश्य से एक्सेस कर सकते हैं।
- दूसरा चरण: अब एक अतिरिक्त सुरक्षा API सेट करें, जिसे क्लाइंट js + html ऐप द्वारा शुरू में सर्वर से अनुरोध किए जाने के बाद कुछ समय के भीतर कॉल किया जाएगा। यह "कॉलबैक" सर्वर को बताएगा कि क्लाइंट सफलतापूर्वक डाउनलोड किया गया था। यदि हाल ही में और सफलतापूर्वक ग्राहक से अनुरोध किया गया था, तो केवल काम करने के लिए अपने REST API कॉल को प्रतिबंधित करें।
अब आपके एपीआई का उपयोग करने के लिए उन्हें पहले क्लाइंट को डाउनलोड करना होगा और वास्तव में इसे एक ब्राउज़र में चलाना होगा। कॉलबैक को सफलतापूर्वक प्राप्त करने के बाद, और फिर समय के एक छोटे फ्रेम के भीतर उपयोगकर्ता प्रविष्टि, एपीआई कॉल स्वीकार करेगा।
इसलिए आपको यह चिंता करने की आवश्यकता नहीं है कि यह बिना प्रमाण के अनधिकृत उपयोगकर्ता हो सकता है।
(प्रश्न का शीर्षक, 'मैं REST API कॉल को कैसे सुरक्षित करूं', और आप जो कहते हैं, उसमें से अधिकांश, यह आपकी प्रमुख चिंता है, न कि आपके एपीआई के शाब्दिक प्रश्न को कैसे कहा जाता है, बल्कि WHOM द्वारा, सही है? )