2012-09-05 21 views
12

मंगोलब के लिए आरईएसटी एपीआई शांत है। मैं मंगोलब के समर्थन पृष्ठ पर प्रदान की गई निम्नलिखित जावास्क्रिप्ट का उपयोग करके सीधे अपनी वेबसाइट में एनालिटिक्स के लिए इसका उपयोग कर सकता हूं। केवल अगर मैं समझ सकता हूं कि प्रमाणीकरण वास्तव में कैसे काम करता है। यूआरएल में उल्लिखित एपीआई कुंजी आसानी से किसी भी व्यक्ति द्वारा कॉपी की जा सकती है जो एचटीएमएल स्रोत को देखेगा। मंगोलब नियंत्रण कक्ष मेरी वेबसाइट के लिए कोई पंजीकरण नहीं प्रदान करता है जो मुझे आश्वस्त करेगा कि एपीआई कुंजी केवल मेरे डोमेन से आने पर ही मान्य होगी। यह प्रमाणीकरण कैसे काम करता है?मंगोलब रीस्ट एपीआई कैसे

$.ajax({ url: "https://api.mongolab.com/api/1/databases/my-db/collections/my-coll?apiKey=myAPIKey", 
      data: JSON.stringify({ "x" : 1 }), 
      type: "POST", 
      contentType: "application/json" }); 

उत्तर

11

उत्कृष्ट अवलोकन, और महान प्रश्न।

वर्तमान में, सभी एपीआई कुंजियों ने उपयोगकर्ता के खाते से जुड़े डेटाबेस को पढ़ने और लिखने के लिए लिखा है, और एपीआई कुंजी रखने वाला कोई भी एजेंट सफलतापूर्वक ऐसा कोई अनुरोध जारी कर सकता है।

जैसा कि आप देखते हैं, यह बहुत ही मूल पास कुंजी किसी भी प्रकार की अच्छी तरह से जुड़ी सुरक्षा के साथ दिमाग में नहीं बनाई गई है।

हालांकि, हम ठीक उसी उद्देश्य के लिए नई आरईएसटी एपीआई सुरक्षा सुविधाओं के एक बैच पर काम कर रहे हैं।

अगर आप विवरणों पर चर्चा करने में रुचि रखते हैं तो [email protected] पर हमसे संपर्क करें।

+0

आप एक लंबे समय के लिए इस पर काम करने लगते हैं, जबकि मैं सराहना अन्य तरीके डेवलपर्स इस खुद को कर सकते हैं कि एक अनुमान के अनुसार समय के पैमाने उपयोगी होगा। – Neil

+0

मुझे योजना के संदर्भ में इसके बारे में कुछ और सुनना अच्छा लगेगा। क्या "नई आरईएसटी एपीआई सुरक्षा सुविधाओं के बैच" का एक लिंक है, इसलिए मैं पढ़ सकता हूं कि वे कैसे काम करेंगे और संभवतः मेरे 2cts के साथ वजन करेंगे? – iwein

+0

क्या इस पर कोई अपडेट है? – SlowAndSteady

-1

आपके पास अपने आरईटी एपीआई का उपयोग करके अपने डीबी को http अनुरोध करने के लिए एक एपीआई कुंजी है। उदाहरण के लिए, यदि कोई उपयोगकर्ता में लॉग इन करना चाहता है, तो मैं इस तरह एक GET पद्धति के साथ एक अनुरोध करना:

https://api.mongolab.com/api/1/databases/name_db/collections/users/put_your_params_like_username_and_pw?apiKey=xxxxxxxxx

और फिर आपको लगता है कि अनुरोध के जवाब का विश्लेषण। यह दुनिया में सबसे सुरक्षित डीबी नहीं है लेकिन यह बेहतर हो रहा है।

आप अधिक जानकारी चाहते हैं, तो मुझे लगता है कि अपने ब्लॉग में इस बारे में बात: http://lolapriego.com/blog/?p=16

1

मैं MongoDB के साथ मेरी पहली AngularJS अनुप्रयोग के लिए MongoLab सेवा का उपयोग करना चाहते हैं, लेकिन MongoLab एक वेब अनुप्रयोग के साथ उत्पादन के लिए तैयार नहीं है कि मोन्दो डीबी के सामने के अंत तक पहुंच चाहता है।

ब्राउज़र नेटवर्क यातायात में एपीआई कुंजी प्राप्त करना बहुत आसान है (नीचे स्क्रीनशॉट देखें, apiKey वहां सादा पाठ में है) और फिर किसी को भी डीबी तक पूर्ण पहुंच मिल सकती है। तो मोंगो डीबी के साथ घूमना कोई समस्या नहीं होगी।

मुझे अभी तक मोंगोलाब के लिए कोई काम नहीं मिला है। फिलहाल, मुझे लगता है कि मैं https://www.dreamfactory.com/

पर एक और सेवा का उपयोग करूंगा, मैंने अभी तक विस्तार से यह कोशिश नहीं की है लेकिन यह मोंगोडीबी के साथ एंगुलर ऐप के लिए बहुत अच्छा लग रहा है और मुझे यह जांचने की ज़रूरत है कि उन्होंने एपीआई की सुरक्षा कैसे लागू की। पहली नजर में, ऐसा लगता है कि यह डेटाबेस के अनुरोधों को सुरक्षित करने के लिए सत्र टोकन के साथ काम कर रहा है।

Screenshot network traffic MongoLab credentials