以下函数(在Javascript中)应该接受accessKey和secretKey并检查它们是否正确:
function checkKeys(accessKey, secretKey) {
var cred = new AWS.Credentials(accessKey, secretKey, null);
cred.get(function(err) {
if (err) {
console.log("ERROR!")
} else {
console.log("Keys are OK")
}
})
}
我希望get()方法在凭据不正确的情况下返回错误。我不知道为什么,但是我给出了什么凭据并不重要,我从来没有得到过错误,而且控制台总是打印出“按键没问题”。
答案 0 :(得分:0)
您只是将凭据存储在本地对象中,然后检索它们。您需要触发实际的AWS API调用,以验证凭据是否有效。
答案 1 :(得分:0)
您不能真正检查凭据是否“正确”。考虑用户角色。用户可能被授权进行一个API调用,但没有另一个权限。您唯一可以做的一般事情是确保您拥有的ID +密钥对是带有STS.getCallerIdentity()
的有效AWS凭证(有关详细信息,请参见SDK docs)。请注意,即使该呼叫者无权访问任何服务,它也将返回呼叫者详细信息,因此请一筹莫展。