8

यहाँ मैं क्या मिला है -फेसबुक के साथ एपीआई गेटवे कॉल को प्रमाणित कैसे करें?

समस्या: मैं फेसबुक प्रमाणीकरण का उपयोग कर मेरी अमेज़न एपीआई गेटवे की मेजबानी REST API उपयोगकर्ताओं को प्राधिकृत करना चाहते।

मेरी समझ: मैं जानता हूँ कि अमेज़न cognito उपयोगकर्ताओं को प्रमाणित करने, संघीय पहचान के रूप में बुला इस्तेमाल किया जा सकता। फिर, मैंने Authenticate API Clients with Amazon Cognito Your User Pool देखा, जो कॉग्निटो उपयोगकर्ता पूल के लिए प्रमाणित है। कस्टम प्राधिकरण से उपयोग करने के लिए मुझे Use Amazon API Gateway Custom Authorizers भी मिला। लेकिन, मुझे एग्नि गेटवे को कॉग्निटो फेडेरेटेड आइडेंटिटीज (यानी यहां फेसबुक) का उपयोग करके प्रमाणित करने के लिए लिंक नहीं मिला। क्या हम संघीय पहचान के लिए User Pool के समान प्रक्रिया का उपयोग कर सकते हैं या मुझे Custom Authorizers में उपयोग करना चाहिए? मैं थोड़ा उलझन में हूँ। कोई भी मदद बहुत ही सराहनीय होगी।

अग्रिम में धन्यवाद।

उत्तर

10

कॉग्निटो संघीय पहचान और कॉग्निटो उपयोगकर्ता पूल विभिन्न उपयोग मामलों को संबोधित करते हैं।

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

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

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

+1

इसके अलावा, यह सिर्फ प्राधिकरण नहीं है जो मैं चाहता हूं, मैं यह भी जानना चाहता हूं कि उपयोगकर्ता कौन है? मेरे एपीआई कॉल पर अलग-अलग उपयोगकर्ताओं के लिए अलग-अलग परिणाम होंगे। मेरा उद्देश्य यह है कि मैं अपने उपयोगकर्ताओं को प्रमाणीकृत करना चाहता हूं, ताकि मैं जान सकूं कि वे कौन हैं। आपके उत्तर से मेरी समझ से मैं केवल देख सकता हूं कि हम केवल उपयोगकर्ताओं को अधिकृत कर रहे हैं। – inblueswithu

+0

शायद मैं गलत हो सकता हूं कि कैसे और क्या कॉग्निटो करता है, कृपया बताएं कि क्या मुझे कोई बिंदु गुम है। – inblueswithu

+1

एपीआई गेटवे उपयोगकर्ता पहचान जानकारी के माध्यम से $ context.identity.cognitoAuthenticationProvider, $ context.identity.cognitoIdentityId, $ context.identity.cognitoIdentityPoolId, $ context.identity.user, और $ context.identity.userArn के माध्यम से उपयोगकर्ता पहचान जानकारी के माध्यम से गुजरता है। देखें [यहां प्रलेखन] (http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html#context-variable-reference) –

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