更新 古いプールを削除して新しいプールを作成することでこれを解決しました。問題は最終的に間違って設定されたコグニートの役割にあると私は信じています。今は期待どおりに動作します。AWS apigclient(資格情報付き)を使用しているときに「存在しない認証トークン」
保護ラムダ(認証:AWS_IAM)にアクセスしようとするとき、私はAPI Gatewayのクライアント(Javascriptを/ブラウザ)といくつかの問題を抱えているAPIゲートウェイを経由して。
問題は、APIゲートウェイ用のapiClient経由でリソースを呼び出すときに "Missing Authentication Token"が表示され続けることです。
I開発者認証アイデンティティAuthflow refの下に、「強化の流れ」以下です:http://docs.aws.amazon.com/cognito/latest/developerguide/authentication-flow.html?shortFooter=true
それがすべてで、このようなラムダを保護する、または私は私の場合のために承認者を使用する必要が行うことは可能ですか?私は、コグニトの一時的な資格情報が、その期間、IAMとして使用できるという印象を受けていましたが、多くのことを説明することができました。私は後で - 他のリソースを保護するために計画された承認者を持っています。
ラムダへの実際の呼び出しは、このようなものです:
var params = {};
var body = {
message: vm.message
};
var additionalParams = {
headers: {},
queryParams: {}
};
var apiClient = apigClientFactory.newClient({
accessKey : data.awstoken.AccessKeyId,
secretKey : data.awstoken.SecretAccessKey,
sessionToken : data.awstoken.SessionToken,
region : Config.aws.region
});
apiClient.testEchoPost(params, body, additionalParams)
.then(function (result) {
console.info('TEST_RESULT', result);
})
.catch(function (error) {
console.error('dang', error);
});
}
こんにちはfmortens、あなたの問題を解決しましたか?ありがとう –
ああ、申し訳ありません。私は更新するのを忘れた。問題は実際には誤ったコグニートプールであることが判明しました。私はプールを作り直さなければならなかった(おそらく代わりに役割を固定していた可能性がある)。そのあとでAWS_IAMでリソースを保護することができた。 – fmortens