Autenticação do Cognito funcionando, mas erros mostram?

Basicamente, estou usando uma identidade autenticada do desenvolvedor para autenticar meus usuários. Mesmo que esse erro seja exibido:

AWSiOSSDKv2 [Detalhado] AWSURLResponseSerialization.m line: 87 | - [AWSJSONResponseSerializer responseObjectForResponse: originalRequest: currentRequest: data: error:] | Corpo da resposta: [{"__type": "InvalidParameterException", "message": "Forneça um provedor público válido"}] 20/10/2015 17: 50: 19.251 BusyTime [56549: 7365231] AWSiOSSDKv2 [Erro] AWSCredentialsProvider.m linha: 435 | __73- [AWSCognitoCredentialsProvider getCredentialsWithCognito: autenticado:] _ block_invoke | Falha no GetCredentialsForIdentity. O erro é [Domínio do erro = Código com.amazonaws.AWSCognitoIdentityErrorDomain = 7 "A operação não pôde ser concluída. (Erro 7 do com.amazonaws.AWSCognitoIdentityErrorDomain 7.)" UserInfo = 0x7f9d9342dde0 {__type = Provedor público válido, mensagem = InvalidParameterException }]

Embora esse erro seja mostrado, ainda estou retornando meu identityId e Token e chamando com êxito um método lambda que requer privilégios autenticados para chamar. Acredito que tenha algo a ver com o meu método de atualização, mas não tenho muita certeza. Por favor, ajude-me a lidar com este erro.

meu código de provedor de credenciais:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    [AWSLogger defaultLogger].logLevel = AWSLogLevelVerbose;
    id<AWSCognitoIdentityProvider> identityProvider = [[BusytimeAuthenticated alloc] initWithRegionType:AWSRegionUSEast1
                                                                                             identityId:nil
                                                                                         identityPoolId:@"EXAMPLEPOOLID"
                                                                                logins:@{@"login.busytimeapp": [defaults objectForKey:@"username"]}
                                                                                           providerName:@"login.busytimeapp"
                                                       ];

    credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1
                                                                   identityProvider:identityProvider
                                                                      unauthRoleArn:nil
                                                                        authRoleArn:nil];

    configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1
                                                credentialsProvider:self.credentialsProvider];
    AWSServiceManager.defaultServiceManager.defaultServiceConfiguration = configuration;
    [[credentialsProvider refresh] continueWithBlock:^id(BFTask *task){
        [self testAuth];
        return nil;
    }];

Meu método de atualização:

- (BFTask *)refresh {
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    if (![self authenticatedWithProvider]) {
        return [super getIdentityId];
    }else{
        NSDictionary *post = [[NSDictionary alloc] initWithObjectsAndKeys:
                              [defaults objectForKey:@"username"], @"username",
                              [defaults objectForKey:@"password"], @"password",
                              nil];
        NSError *error;
        NSData *postData = [NSJSONSerialization dataWithJSONObject:post options:0 error:&error];
        NSString *postLength = [NSString stringWithFormat:@"%lu", (unsigned long)[postData length]];
        NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
        [request setURL:[NSURL URLWithString:@"SOMEURL"]];
        [request setHTTPMethod:@"POST"];
        [request setValue:postLength forHTTPHeaderField:@"Content-Length"];
        [request setHTTPBody:postData];
        NSURLSession *session = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
        __block BOOL isLogged = false;
        [[session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
            NSDictionary *newJSON = [NSJSONSerialization JSONObjectWithData:data
                                                                    options:0
                                                                      error:&error];
            isLogged = true;
            if(!newJSON){
                NSLog(@"DID NOT AUTHENTICATE");
            }else{

            self.identityId = [newJSON objectForKey:@"IdentityId" ];
            self.token = [newJSON objectForKey:@"Token" ];
            NSLog(@"Result: %@", newJSON);
            }

        }] resume];

        return [super getIdentityId];

    }
    return [super getIdentityId];
}

questionAnswers(1)

yourAnswerToTheQuestion