この記事は公開から2年以上経過しています。
AWS公式ブログ記事を参考にC#(.NET 6)でAWS SDKのAWS Cognitoによる認証の実装を行ったところエラーが発生してうまくいかなかったので、解決策についての備忘録。
試していませんが、C#以外の言語を利用した場合でも同じエラーであれば、同様に解決できるのではないかと思います。
問題
AmazonCognitoIdentityProviderClientを利用すると、
Unable to get IAM security credentials from EC2 Instance Metadata Service.
のようなエラーが発生する。
原因
セキュリティ認証情報が設定されていない。
対応
匿名のセキュリティ認証情報(認証前)を用いて認証情報プロバイダーを初期化する。
サンプルソースコード(C#):
var cognitoIdClient = new AmazonCognitoIdentityProviderClient(
new AnonymousAWSCredentials(),
/* エンドポイントリージョン(Amazon.RegionEndpoint) */
);
参考ウェブサイトなど
- AWS Blog
Sign Up and Confirm With Amazon Cognito User Pools Using C#
以上です。