0

Я хочу создать api для своего приложения, доступное только для моего приложения. Я добавил личность AWS Cognito к моему AppDelegate так:Создание частного шлюза API Amazon

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; 
}]; 

Как использовать этот gonitoId, который получает возвращенное, чтобы убедиться, что это единственное приложение с идентификатором, который может получить доступ к своему API? Нужно ли сохранять этот идентификатор и использовать его при доступе к api?

Спасибо.

ответ

0

Для защиты API с помощью авторизации «AWS_IAM» требуется, чтобы запросы подписывались с учетными данными в той же учетной записи AWS. В прошлом, если вы контролируете учетную запись, вы должны быть в состоянии обеспечить доступ только к ролям Cognito, установив мелкомасштабную политику с действиями и ресурсами Gateway API.

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

приложение должно получать учетные данные Cognito, когда проверка подлинности, так что вы будете использовать в API шлюза SDK. Сгенерированные SDK доступны в iOS Android и JavaScript.

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

Смежные вопросы