HTTP आपको लगता है कि के लिए समर्थन प्रदान किया है, तो आप पहिया बदलने की जरूरत नहीं है देता है
या तो उपयोग:
- HTTP प्रमाणीकरण बेसिक (एसएसएल के साथ बायपास करने के लिए सादे-पाठ पासवर्ड समस्या पेश करें)
- HTTP प्रमाणीकरण डाइजेस्ट
प्रमाणीकरण डाइजेस्ट, लाभ दिया है कि यह cleartext में passowrd प्रेषित नहीं करता और पुनरावृत्ति हमलों (nonces के साथ) संभालती है।
हम HTTP Auth Digest (टॉमकैट सर्वलेट कंटेनर का इसके लिए सीधा समर्थन है) का उपयोग करते हैं और हम इसके साथ संतुष्ट हैं।
संपादित करें: कुछ ग्राहकों को डायजेस्ट (इतनी छोटी नहीं) के साथ समस्याएं हैं, इसलिए इन दिनों मैं बेसिक और एसएसएल का चयन करूंगा। बेसिक के लिए लाभ यह भी है कि आप प्रमाणीकरण प्रमाणीकरण कर सकते हैं (उपयोगकर्ता को भेजना: पहले अनुरोध में pwd)। https://rubygems.org/gems/restful_api_authentication
स्रोत
2010-08-20 15:38:04
मुझे प्राधिकरण भी चाहिए, उदा। पोस्ट एपीआई जैसे कुछ एपीआई http://www.example.com/adduser, मैं केवल कुछ क्लाइंट तक पहुंच प्रदान करता हूं। – Howard
मैं देखता हूं, फिर यह आपके द्वारा उपयोग किए जाने वाले आपके तकनीकी प्लेटफॉर्म पर निर्भर करता है। यदि आप जावा और सर्वलेट-कंटेनर का उपयोग करते हैं तो आप भूमिकाओं के आधार पर अंतर्निहित प्राधिकरण का उपयोग कर सकते हैं। आप इन भूमिकाओं को अनुमत यूआरएल से जोड़ते हैं और इसलिए दृश्यताएं पैदा कर सकते हैं। फिर आप भूमिकाओं के लिए ग्राहकों का एक समूह समूहबद्ध करते हैं (यानी क्लाइंट 1 + 2 भूमिका 1 से संबंधित है, क्लाइंट 3-6 रोल 2 के लिए)। यदि भूमिका आधार दृष्टिकोण बहुत मोटे अनाज है (यानी प्रत्येक ग्राहक के पास अलग-अलग पहुंच नियम हैं) तो आपको एक और प्राधिकरण परत लागू करने की आवश्यकता है। लेकिन सबसे पहले कोशिश करें कि भूमिका सुरक्षा आपकी आवश्यकताओं के अनुरूप है (कार्यान्वित करने में आसान)। –