मुझे संभावित रूप से हजारों मोबाइल उपकरणों पर पूरी दुनिया में अपनी गुप्त एपीआई कुंजी देने के साथ कोई समस्या है। इसे आसानी से समझौता किया जा सकता है और एक हैकर द्वारा दुर्भावनापूर्ण उद्देश्यों के लिए उपयोग किया जा सकता है।मोबाइल डिवाइस, डिज़ाइन पैटर्न पर गुप्त फेसबुक/ट्विटर एपीआई कुंजी स्टोर नहीं करना चाहते हैं?
तो मेरे लिए विकल्प क्या हैं? मुझे लगता है कि एक निजी सर्वर है जिसमें गुप्त एपीआई कुंजी और एक वेब सेवा है जो सभी विधि कॉल को समाहित करती है। तो बजाय गुप्त कुंजी होने और की तरह कुछ करता है मोबाइल डिवाइस की: अपने गुप्त API कुंजी समझौता किया है और स्पैमिंग/दुरुपयोग प्रयोजनों के लिए प्रयोग किया जाता है
List<Friends> = service.GetFriends(secretKey);
, मैं अपने सभी उपयोगकर्ताओं के लिए उपयोग को बंद कर दिया जाना चाहिए, छोड़ने मेरा आवेदन समुद्र में मृत
तो मेरा विचार है कि मैं मोबाइल डिवाइस अद्वितीय डिवाइस आईडी का उपयोग करें और क्या कर सकते हैं:
List<Friends> = myService.GetFriends(deviceID);
, एक दुर्भावनापूर्ण हैकर सिर्फ एक नकली DeviceID के साथ अपने वेब सेवा को कॉल सकता है, लेकिन कम से कम अब मैं डिवाइसआईडी के ब्लैकलिस्ट पर नियंत्रण रखें। यह कुछ संभावित बैंडविड्थ जारी करता है, लेकिन यह कम चिंता का विषय है।
एक वास्तविक पीकेआई शायद प्रश्न से बाहर है, क्योंकि लक्षित डिवाइस वर्तमान संस्करण में HTTP क्लाइंट प्रमाणपत्रों को संभाल नहीं करता है।
कोई अन्य अच्छा विचार?