11

पर एडब्ल्यूएस प्रमाणीकरण मैं मोबाइल देव पर नौसिखिया हूं। मैं Amazon Cognito को प्रमाणीकृत करने की कोशिश कर रहा हूं। मैं पहले उपयोगकर्ता नाम, पिन, मंच और डिवाइस का उपयोग कर Credentials Provider पर लॉगिन करता हूं, कस्टम सेवा मॉडल का उपयोग करके टोकन - मुझे फिर पहचान आईडी, एंडपॉइंट और टोकन वापस मिलता है। मुझे बताया गया है कि मुझे टोकन को स्वैप करने की आवश्यकता है और मुझे AWS Cognito और S3 पर प्रमाणीकृत होने के लिए मेरे प्रमाण पत्र रीफ्रेश करने की आवश्यकता है। लेकिन सभी प्रक्रिया भ्रमित है और इसमें कई उदाहरण हैं जो अलग हैं।अमेज़ॅन कॉग्निटो

मैंने एक साइनइनप्रोवाइडर बनाया है, जो - (शून्य) लॉगिन तक पहुंचने के लिए AWSSignInProvider को विस्तारित करता है: (शून्य (^) (आईडी परिणाम, एनएसईआरआर * त्रुटि)) पूरा करने वाला हैल्डर; मेरे पास मेरे लॉगिन विधि के अंदर मेरा टोकन, एंडपॉइंट और पहचान है। मैं पूरा करने वाले हैंडलर के साथ क्या करता हूं और इसके बाद क्या होता है।

@implementation SignInProvider 

+(instanceType) sharedInstance{} 

- (NSString) identityProviderName{} 

- (AWSTask<NSString*>*) token{} 

- (BOOL) isLoggedIn{} 

- (NSSting*) userName{} 

- (void) reloadSession{} 

- (void) login: (void (^) (id result, NSError *error)) completionHanlder{ 

authRequest = [IMPCLDMobileAuthenticationRequest new]; 



    [authRequest setToken:@"930fc1b56d8ca19a84500f9a79af71b65f60331f0242ce4395cdf41186443692"]; 

     [authRequest setPassword:@"pin"]; 

     [authRequest setUsername:@"[email protected]"]; 

     [authRequest setPlatform:@"ios"]; 

     serviceClient = [IMPCLDImpressionInternalMicroserviceClient defaultClient]; 


     [[serviceClient mobileAuthenticationPost:authRequest] continueWithBlock:^id(AWSTask *loginTask) 
    { 


    //what to do here with my loginTask results (token, endpoint, identityId) 

     } 

    return nil; 

    } 
+0

क्या है काम आप पूरा करने के लिए कोशिश कर रहे हैं? उपयोगकर्ता को विशिष्ट एस 3 बाल्टी में कुछ अपलोड करें? पूरे ऐप के लिए एक ही बाल्टी में चीजें अपलोड/डाउनलोड करें, चाहे वह कौन सा उपयोगकर्ता है? – Msencenb

उत्तर

2

स्वैप/बचाने AWS में टोकन आप में नीचे दिए कार्य करने के लिए अपने continueWithBlock

[[serviceClient mobileAuthenticationPost:authRequest] continueWithBlock:^id(AWSTask *loginTask) 
{ 
    AWSSNSCreateEndpointResponse *response = loginTask.result; 
    AWSSNSSubscribeInput *subscribeRequest = [AWSSNSSubscribeInput new]; 
    subscribeRequest.endpoint = response.endpointArn; 
    subscribeRequest.protocols = @"application"; 
    subscribeRequest.topicArn = YOUR_TOPIC_ARN; 
    return [sns subscribe:subscribeRequest]; 
}] continueWithBlock:^id(AWSTask *task) { 
    if (task.cancelled) { 
     NSLog(@"Task cancelled"); 
    } 
    else if (task.error) { 
     NSLog(@"Error occurred: [%@]", task.error); 
    } 
    else { 
     NSLog(@"Success"); 
    } 
    return nil; 
}]; 
संबंधित मुद्दे