ios - stores - iphone app




एओडब्लूएस कॉग्निटो डेवलपर पहचान का उपयोग करके अपने आईओएस ऐप से डायनामो डीबीबी तक पूर्ण पहुंच प्राप्त करना (2)

यदि आपका उपयोगकर्ता अप्रमाणित है, तो लॉग में आपको अपने क्रेडेंशियल्स को साफ़ करने की आवश्यकता होती है, और आपके 'लॉगिन' विधि को अब ठीक से अपडेट किए गए लॉगिन मैप लौटा देना चाहिए।

आपकी मदद करने के लिए यहां दस्तावेज़ीकरण दिया गया है: http://docs.aws.amazon.com/cognito/latest/developerguide/developer-authenticated-identities.html

मैंने एक ए.एम.एस. लाम्बा फ़ंक्शन कार्यान्वित किया है और फ़ुलिंग डेटा वापस करने के लिए गेटवे का इस्तेमाल किया है:

var param =
{
    IdentityPoolId: "actualIdentityPoolId",
    Logins: {} // To have provider name in a variable
};
param.Logins["com.testing.userLogin"] = userId;

cognitoidentity.getOpenIdTokenForDeveloperIdentity(param,
function(err, data)
{
    if (err) return fn(err); // an error occurred
    else fn(null, data.IdentityId, data.Token); // successful response
});

तो पहचान आई और टोकन को आईओएस डिवाइस पर वापस भेजा जाता है। मेरी डिवाइस में मैं एडब्लूएस डाइनेमो डीडी तालिका से कनेक्ट करने की कोशिश करता हूं लेकिन प्रवेश निषेध है। तालिकाओं तक पहुंच प्राप्त करने के लिए मैं पहचान और टोकन का उपयोग कैसे करूं?

मैंने आईएएम में अनम्यूट के लिए भूमिका निभाई है, जो कि डाइडनामो और एथ से इनकार करता है जो अपनी नीतियों के माध्यम से टेबल तक पहुंच देता है।

मैं प्रमाणीकरण को कार्यान्वित करने का प्रयास कर रहा हूं: http://docs.aws.amazon.com/cognito/latest/developerguide/authentication-flow.html

मैं देखता हूं कि दो प्रवाह हैं जो बेसिक और एन्हांस्ड हैं। प्रलेखन कहते हैं कि अधिकांश उपयोगकर्ता उन्नत प्रवाह का उपयोग करेंगे और जो GetCredentialForIdentity लागू करता है

यह कैसे मेरे आईओएस कोड में कार्यान्वित किया जाता है ताकि मैं अपनी भूमिका को अनाथ से एथ पर स्विच कर सकूं और डायनामोडब तक पहुंच सकूं? यह कब तक पहुंच जाएगा? मैं यह सब अपने आईओएस कोड में लैम्ब्डा या ऐसा कुछ करने के बजाय की तरह करना चाहता हूं


प्रमाणीकृत पहुँच के लिए अपनी DynanoDB भूमिकाएं जांचें अपने डायनामोडीबी संसाधन। इसके लिए एक उदाहरण भूमिका डेवलपर मार्गदर्शिका के निम्नलिखित पृष्ठ पर संदर्भित है । पृष्ठ को " आईएएम भूमिकाएं " कहा जाता है और अंतिम खंड महत्वपूर्ण है: " अमेज़ॅन डायनेमो डीबीबी के लिए ठीक-ठाक पहुंच "

बढ़ी हुई Authflow का उपयोग करने की आपकी योजना के साथ चिपकाएं इसकी अनुशंसा की जाती है और प्रमाणित करने के लिए कम कॉल करता है (आपके उपयोगकर्ता इस की सराहना करेंगे)। बस सुनिश्चित करें कि आप मोबाइल ग्राहक आईओएस से GetCredentialsForIdentity कॉल GetCredentialsForIdentity

एन्हांस्ड Authflow प्रलेखन से आपके पृष्ठ के नीचे

एक पहचान पहचान पत्र स्थापित करने के बाद GetCredentialsForIdentity API को कहा जा सकता है। यह एपीआई कार्यात्मक रूप से GetOpenIdToken को कॉल करने के समान है, उसके बाद AssumeRoleWithWebIdentity

AssumeRoleWithWebIdentity एक महत्वपूर्ण टुकड़ा है जो आपके उपयोगकर्ता को उस भूमिका को ग्रहण करने की अनुमति देता है जो डायनेमो डीडी संसाधन से पहुंच जाता है। जब तक आप कॉग्निटो कंसोल के भीतर भूमिकाएं सही ढंग से सेट अप करते हैं, तब तक कॉग्निटो बाकी का ध्यान रखेगा:

अमेज़ॅन कोग्निटो के लिए आपकी ओर से AssumeRoleWithWebIdentity को कॉल करने के लिए, आपकी पहचान पूल में इसके साथ IAM भूमिकाएं होनी चाहिए। आप इसे अमेज़ॅन कॉग्निटो कंसोल के माध्यम से या मैन्युअल रूप से SetIdentityPoolRoles ऑपरेशन के माध्यम से कर सकते हैं (एपीआई संदर्भ देखें)







amazon-cognito