0

バックエンドアプリケーションサーバー(ejabberd、AWS EC2でホスト)には、独自のユーザー認証プロセスがあります。私のiOSクライアントはユーザーのログインのために直接接続しますが、クライアントは別にS3バケットにアクセスする必要があります。そのためにAWS Cognitoを活用しようとしています。iOSアプリケーションでのAWS Cognitoの使用方法の理解

アプリに以下の推奨iOS SDKコードを組み込むと、S3バケットとの間でデータをアップロード/ダウンロードすることができます。ドキュメントhere ...

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

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

AWSServiceManager.defaultServiceManager.defaultServiceConfiguration = configuration; 

はしかし、私の質問は - /どのように1時間ごとに更新されている資格情報はどこ?上記のコードは私にとっては十分ではないようです。アイデンティティプールは実際にはアプリケーションでハードコードされており、逆コンパイルする人が取得できます。 AmはおそらくアイデンティティプールIDが正常にアプリに組み込まれている...あなたの助けに感謝...ここ

答えて

2

を基本的な何かを逃し、あなたはその前のステップが欠落していません。 authとunauthの役割を使用して、各ユーザーとユーザーのタイプが何ができるのかを厳密に定義することで、リスクを軽減できます。

資格情報プロバイダが自動的に資格情報を管理します。期限が切れると、新しいものを入手して使用します。その時点であなたのアプリが必要とするAWSクライアントに渡すだけです。

+0

ありがとう@ジェフベイリー。つまり、私のアプリケーションサーバーのAWSからアイデンティティIDの取得を実装する必要があることを意味し、それをS3に接続するために使用するモバイルクライアントに戻しますか?私はここで私の理解の点で再び間違っているかもしれません - 私は前もって私のサーバーには何の役割もなく、iOSクライアントだけが資格情報を組み込む必要があると仮定していました... – vikram17000

+0

これは、開発者認証されたアイデンティティ。そうでない場合は、SDKも同様の処理を行います。 –

+0

Aahはい私は言いましたが、私のアプリサーバーはユーザー認証を担当していますので、私は自分のアプリケーション固有のユーザー名などを持っています。もう1つの質問を申し訳ありません - 私が言及した流れを実装する。私はBFTaskを見つけることができず、非難されたどこかを読むことができなかったので尋ねる...?再度、感謝します! http://mobile.awsblog.com/post/Tx1YVAQ4NZKBWF5/Amazon-Cognito-Announcing-Developer-Authenticated-Identities – vikram17000

関連する問題