0

自分のアプリでしかアクセスできないアプリ用のAPIを作成したいと思います。私はそうのように私のappDelegateにAWS Cognitoのアイデンティティを追加しました:プライベート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 Gatewayの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

関連する問題