rest - Authentication on RESTful API on GET requests -


तो बाकी आर्किटेक्चर लागू करता है GET , POST , PUT और अनुरोध हटाएं मैं GET अनुरोधों के बारे में बात करना चाहूंगा http://example.com/api/students यह REST आर्किटेक्चर के तहत एक GET अनुरोध है जो मुझे डेटाबेस में छात्रों की सूची देगा।

मेरा प्रश्न प्रमाणीकरण के बारे में है ऐसा लगता है कि GET अनुरोध पर प्रमाणित करने का सबसे अच्छा तरीका एक एक्सेस टोकन का उपयोग करके होगा, जैसे http://example.com/api/students?token=randomstring < / P>

यह कैसे सर्वरएड को नियंत्रित करता है, इसका मतलब है कि किसी सेक्युलेंसियल प्रक्रिया को किसी दूसरे उपयोगकर्ता के टोकन को चोरी करने और उसे इस्तेमाल करने से रोकने के लिए। क्या हर अनुरोध पर टोकन ताज़ा होता है और परिणाम या उस तरह से कुछ वापस आती है?

सबसे पहले - आपको यूआरएल में क्रेडेंशियल्स (एक्सेस टोकन) कभी नहीं लगाए जाएंगे। यह बिल्कुल गलत नहीं है या प्रति प्रतिबंधित है - इसका बुरा व्यवहार इसलिए है क्योंकि यह यूआरएल को गोपनीय क्रेडेंशियल्स को उजागर किए बिना साझा करना असंभव बनाता है (सोचें कि क्या होगा यदि आप यूआरएल को ई-मेल में कॉपी करते हैं और इसे किसी मित्र को भेजते हैं)। यूआरएल में क्रेडेंशियल्स आसानी से उन्हें अन्य लोगों तक पहुंचाने में आसान बनाता है।

टोकन लो और इसके बजाय एचटीटीपी प्राधिकरण शीर्षलेख में सामान लगाएं - यही कारण है कि हमारे पास यह है। हेडर का उपयोग करने के कई अलग-अलग तरीके हैं, लेकिन आपके मामले में आप "वाहक" टोकन विधि का उपयोग करना चाहते हैं। यहां आरएफसी () से एक उदाहरण दिया गया है:

  प्राप्त / एपीआई / छात्र HTTP / 1.1 होस्ट: example.com प्राधिकरण: बियरर आर एंडोमस्ट्रिन्ग  

सर्वर आप कुछ और करने से पहले टोकन की वैधता जांचते हैं दूसरों को चोरी करने से रोकने के लिए आप कनेक्शन पर SSL / TLS लागू करते हैं।

टोकन को ताज़ा करने की आवश्यकता हो सकती है - लेकिन यह इस बात पर निर्भर करता है कि आपने इसे कैसे प्राप्त किया और आपके बाकी बुनियादी ढांचे आम तौर पर आपको इसे प्रत्येक अनुरोध के लिए ताज़ा करने की आवश्यकता नहीं होती - केवल एक निश्चित समय के बाद ही समाप्त हो जाती है।

आप OAuth2 को देखना चाह सकते हैं जो प्रवेश टोकन प्राप्त करने के चार बुनियादी तरीकों को परिभाषित करता है।


Comments

Popular posts from this blog

ios - How do I use CFArrayRef in Swift? -

eclipse plugin - Run java code error: Workspace is closed -

c - Error on building source code in VC 6 -