2015-03-29 7 views
5

मैं अपने ऐप में अमेज़ॅन वेब सेवाओं को एकीकृत करने की कोशिश कर रहा हूं लेकिन स्पष्ट रूप से यह एक बड़ी चुनौती रही है और यह बेहद परेशान है।अमेज़ॅन कॉग्निटो आईओएस

मैं iOS के लिए अमेज़न एसडीके (v2.1.0) का उपयोग कर रहा है और इस मैं क्या हासिल करने की कोशिश कर रहा हूँ:

  1. मेरे ऐप में, मैं एक साइनअप स्क्रीन जहाँ मेरे उन मेरे ऐप के लिए साइन अप कर सकते हैं या तो फेसबुक का उपयोग करके या खाता बनाकर
  2. यदि उपयोगकर्ता खाता बनाना चाहता है, तो मैं अमेज़ॅन डायनेमो डीबी (आईओएस ऐप के माध्यम से) सुरक्षित रूप से एक्सेस करने के लिए अमेज़ॅन कॉग्निटो का उपयोग करने की योजना बना रहा हूं, जहां मैं ईमेल और पासवर्ड स्टोर करूंगा।

मैं अमेज़न cognito मेरी ViewController में निम्न कोड के साथ काम कर पाने के लिए कोशिश कर रहा हूँ, लेकिन मैं नहीं के बराबर मिलता है चर के लिए cognitoId

AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 
                           identityPoolId:@"us-east-1:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX"]; 
AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 
                    credentialsProvider:credentialsProvider]; 
AWSServiceManager.defaultServiceManager.defaultServiceConfiguration = configuration; 

NSString *cognitoId = credentialsProvider.identityId; //NULL 

सब कुछ मैं ऊपर बताया गया है के आधार पर, मैं है निम्नलिखित प्रश्न::

  1. अमेज़न cognito की मेरी उपयोग मामला इस परिदृश्य में सही है मेरे कोड के नीचे है?
  2. उपर्युक्त कोड क्यों काम नहीं कर रहा है?
  3. मुझे लगता है कि समस्या को पहचान पूल में कॉन्फ़िगर आईम भूमिकाओं के साथ करना पड़ सकता है। मुझे यकीन नहीं है कि सुरक्षा के मामले में क्या भूमिकाएं दी जाएंगी। एक बार उपयोगकर्ता साइन अप करने के बाद, ऐप को किसी भी सुरक्षा त्रुटियों को उजागर किए बिना मेरे डायनेमो डीबी को लिखने की अनुमति की आवश्यकता होगी। क्या कोई इस पर कोई अंतर्दृष्टि प्रदान कर सकता है?

मैं किसी की भी सराहना करता हूं जो मेरी मदद कर सकता है। पिछले कुछ दिनों में काम करने की कोशिश करने पर मैं अपना मन खो रहा हूं।

धन्यवाद!

+0

मुझे कॉग्निटो के साथ आपके अनुभव के बारे में आपसे बात करना अच्छा लगेगा। कृपया मुझे ईमेल करें - मेरा ईमेल मेरे stackoverflow प्रोफाइल पेज पर है। –

उत्तर

1

कॉग्निटो पहचान आईडी डिफ़ॉल्ट रूप से सेट नहीं है। क्या आप इंडेंटिटी आईडी प्राप्त करने के लिए कॉल कर रहे हैं या प्रदाता के साथ रीफ्रेश कर रहे हैं? यदि नहीं, तो मैं कोशिश करता हूं और देखता हूं कि आपको परिणाम मिल रहा है या नहीं।

आपके अन्य प्रश्नों के लिए, कॉग्निटो फेसबुक, Google, और अमेज़ॅन, साथ ही डेवलपर प्रमाणीकृत पहचान जैसे 'सार्वजनिक प्रदाताओं' का समर्थन करता है। फेसबुक के साथ आपके सुझाए गए मामले के लिए, आप वहां आसानी से कॉग्निटो का उपयोग कर सकते हैं। कॉग्निटो भूमिकाओं और नीतियों पर एक ब्लॉग पोस्ट here उपलब्ध है।

डेवलपर प्रमाणीकृत पहचान आपके दूसरे उपयोग के मामले को लागू करने के लिए एक वैध (और अधिक सुरक्षित) तरीका हो सकती है। वर्कफ़्लो के लिए आपको बैक एंड सर्वर होना आवश्यक होगा, लेकिन आप केवल उस सर्वर पर डायनेमो डीबी तालिका तक पहुंच सकते हैं। उपयोगकर्ता लॉग इन करेंगे, ऐप आपके सर्वर पर वह डेटा भेजेगा, वह सर्वर प्रमाण-पत्रों के साथ सत्यापन और उत्तर देगा, और फिर उपयोगकर्ता आपके अन्य एडब्ल्यूएस संसाधनों तक पहुंच सकता है। इस संदर्भ में भूमिकाओं और नीतियों का वर्णन करने वाला एक ब्लॉग पोस्ट here उपलब्ध है और एक निर्दिष्ट विवरण पर अधिक जानकारी दे रहा है और अंतिम उदाहरण के अंत में सूचीबद्ध है here उपलब्ध है।

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