Является ли смысл использовать следующий код, чтобы я мог напрямую обращаться к другим инструментам AWS с помощью приложения ios?Точка использования AWS Cognito Identity
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;
}];
Затем я использую AWS Lambda с помощью API-шлюза, чтобы получить идентификаторы пользователей.
ЕСЛИ Я прокомментирую это, мои функции шлюза все еще работают. Поэтому, если я попытаюсь получить доступ к чему-либо вне шлюза, например, s3, это не сработает. Правильно? Также используя шлюз для доступа к лямбда, чтобы я мог отправлять вещи https: //. Благодарю. – cdub
Если вы можете получить доступ к своему шлюзу без Cognito, так может и любой другой человек в мире. Вы функциональность широко открыта. Теперь, возможно, вы используете это, чтобы предоставить конечную точку REST для обслуживания активов S3 в Интернете. В этом есть смысл. Кроме того, стоит отметить, что все абонентские вызовы API AWS из iOS переводятся на https-вызовы в API AWS REST. –
Я не знал о местных HTTPS: звонки. Как мне сделать api только для моего пользователя с помощью cognitoId? Благодаря, – cdub