2012-02-19 17 views
6

मैं एक रेल ऐप में Devise का उपयोग कर रहा हूं और एपीआई के माध्यम से कुछ मॉडल डेटा का खुलासा करना चाहता हूं, लेकिन एपीआई तक पहुंच ऐप की तरह प्रतिबंधित होनी चाहिए।डेविस प्रमाणीकरण के साथ एपीआई एक्सेस - सर्वोत्तम अभ्यास?

$ curl http://myapp.com/api/v1/sales/7.json 
{"error":"You need to sign in or sign up before continuing."} 

जाहिर है।

क्या इस तरह की स्थितियों में एपीआई तक पहुंचने का सबसे अच्छा अभ्यास है? मैं को एक चरण में डेटा को पकड़ने के लिए प्राथमिकता देता हूं, लेकिन यह क्लाइंट की नौकरी को आसान बनाने के लिए है। वे JQuery के साथ डेटा क्लाइंट-साइड में खींचेंगे।

किसी भी जानकारी के लिए धन्यवाद!

  • वैनेसा

उत्तर

0

मेरे सुझाव एक API "कुंजी" (हैश मान) उत्पन्न करने के लिए होगा और कहा कि json अनुरोध के साथ पारित किया है। इस तरह आप एपीआई उपयोग प्रमाणित और ट्रैक कर सकते हैं। उपयोग के ट्रैक और प्रमाणीकरण के लिए बहुत से एपीआई "कुंजी" का उपयोग करते हैं। उदाहरण के लिए Google मानचित्र, वे केवल एक एपीआई कुंजी का उपयोग करते हैं। जहां पेपैल उपयोगकर्ता नाम, पासवर्ड और कुंजी का उपयोग करता है। ऐसा करने के कई तरीके हैं।

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

1

मुझे सलाह है कि आप विकल्प 2 का पालन करें: रेल में एपीआई प्रमाणीकरण को लागू करने के लिए निम्न पोस्ट पर API कुंजी अनुभाग का उपयोग करना।

यह हल्के है और केवल प्रत्येक अनुरोध के साथ एक api_key परम गुजर की आवश्यकता है।

संबंधित मुद्दे