11

Ich bin ein Neuling auf Mobile Dev. Ich versuche mich bei Amazon Cognito zu authentifizieren. Ich erste Anmeldung an Credentials Provider mit einem Benutzernamen, Pin, Plattform und deviceToken mit benutzerdefinierten Services-Modell - ich bekomme dann IdentityId, EndPoint und Token zurück. Mir wurde gesagt, dass ich das Token austauschen muss, das ich zurückbekommen habe und meine Zugangsdaten auffrische, damit ich mich bei AWS Cognito und S3 authentifizieren kann. Aber der gesamte Prozess ist verwirrend und es gibt viele Beispiele, die anders sind.AWS-Authentifizierung für Amazon Cognito

Ich habe einen SignInProvider erstellt, der AWSSSignInProvider erweitert, um auf den - (void) Login zuzugreifen: (void (^) (id result, NSError * error)) completionHanlder; Ich habe mein Token, Endpunkt und IdentityId innerhalb meiner Login-Methode .. Was mache ich mit dem Abschluss-Handler und was kommt als nächstes.

@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

tun müssen, Was ist die Aufgabe, die Sie versuchen zu erreichen? Etwas in einen benutzerspezifischen S3-Bucket hochladen? Hochladen/Herunterladen von Dateien in den gleichen Bucket für die gesamte App, unabhängig davon, um welchen Benutzer es sich handelt? – Msencenb

Antwort

2

zu Vertauschen/Token speichern in AWS Sie unten in Ihrem 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; 
}]; 
Verwandte Themen