0

내 앱에서만 액세스 할 수있는 내 앱용 API를 만들고 싶습니다. 나는 그렇게처럼 내 AppDelegate에로 AWS Cognito ID를 추가 한 :비공개 Amazon API 게이트웨이 만들기

AWSCognitoCredentialsProvider *credentialsProvider = [[DeveloperAuthenticationProvider alloc] initWithRegionType:AWSRegionUSEast1 identityPoolId:@"poolId"]; 

AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:credentialsProvider]; 

AWSServiceManager.defaultServiceManager.defaultServiceConfiguration = configuration; 

__block NSString *cognitoId = nil; 

// Retrieve your Amazon Cognito ID 
[[credentialsProvider getIdentityId] continueWithBlock:^id(AWSTask *task) 
{ 
    if (task.error) 
    { 
     NSLog(@"Error: %@", task.error); 
    } 
    else 
    { 
     // the task result will contain the identity id 
     cognitoId = task.result; 
    } 

    return nil; 
}]; 

나는이 내 API에 액세스 할 수있는 ID를 가진 유일한 응용 프로그램이 있는지 확인 반환됩니다이 gonitoId을 어떻게 사용합니까? 이 ID를 저장하고 API에 액세스 할 때 사용해야합니까?

감사합니다.

답변

0

'AWS_IAM'인증을 사용하여 API를 보호하려면 동일한 AWS 계정에서 자격 증명으로 요청에 서명해야합니다. 과거에는 계정을 관리하는 경우 API 게이트웨이 작업 및 리소스를 사용하여 세부적인 정책을 설정하여 Cognito 역할 만 액세스 할 수 있도록해야합니다. 당신은 API 게이트웨이 SDK에서 사용합니다 있도록 인증하는 경우

http://docs.aws.amazon.com/apigateway/latest/developerguide/permissions.html#api-gateway-calling-api-permissions

응용 프로그램은 Cognito 자격 증명을 수신해야한다. 생성 된 SDK는 iOS Android 및 JavaScript에서 사용할 수 있습니다.

http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-generate-sdk.html