11

Mobil cihazlarda yeni bir kullanıcıyım. Kimlik doğrulaması yapmaya çalışıyorum Amazon Cognito. İlk kez Credentials Provider kullanıcı adı, pin, platform ve deviceToken kullanarak özel hizmetler modelini kullanarak giriş yapıyorum - daha sonra identityId, endPoint ve jetonu geri alıyorum. Ben AWS Cognito ve S3 ve S3 için doğrulanabilmesi için benim kimlik bilgilerini yenilemeyi ve yenilemeyi belirtmem gerekiyor. Ancak tüm süreç kafa karıştırıcı ve farklı olan çok fazla örnek var.Amazon Cognito'ya AWS kimlik doğrulaması

- (void) girişine erişmek için AWSSignInProvider'ı genişleten bir SignInProvider oluşturdum: (void (^) (id sonucu, NSError * error)) completionHanlder; Giriş yöntemimin içinde belirteç, son nokta ve kimlik kodum var. Tamamlama işleyicisiyle ne yapacağım ve sonra ne olacak?

@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

? Kullanıcıya özgü bir S3 kovasına bir şeyler yüklemek? Hangi kullanıcının olduğuna bakılmaksızın tüm uygulama için aynı kanala yükleme/indirme işlemi yapın. – Msencenb

cevap

2

Eğer aşağıda yapmanız gereken AWS yılında belirteç kaydetmek/takas için senin görevin size gerçekleştirmek için çalışıyoruz Ne 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; 
}];