【发布时间】:2018-11-12 07:53:07
【问题描述】:
我正在学习使用 AWS Cognito。我已经设置了一个用户池和一个身份池。
代码(简体):
cognitoUser.authenticateUser(authenticationDetails, {
onSuccess: (result) => {
let cognitoGetUser = userPool.getCurrentUser();
if (cognitoGetUser != null) {
cognitoGetUser.getSession((err, result) => {
if (result) {
console.log ("Authenticated to Cognito User and Identity Pools!");
let token = result.getIdToken().getJwtToken();
let cognitoParams = {
IdentityPoolId: this.identityPool,
Logins: {}
};
cognitoParams.Logins["cognito-idp.eu-west-1.amazonaws.com/"+this.poolData.UserPoolId] = token;
AWS.config.credentials = new AWS.CognitoIdentityCredentials(cognitoParams);
AWS.config.getCredentials(() => {
console.log(AWS.config.credentials.accessKeyId)
console.log(AWS.config.credentials.secretAccessKey)
console.log(AWS.config.credentials.sessionToken)
}
}
}
}
},
onFailure: function(err) {
console.log('error');
console.log(err)
}
}
}
大部分代码按预期工作:authenticateUser 触发 onSuccess,我可以看到 jwt 令牌等
问题:我无法让AWS.config.getCredentials 工作。它执行时没有任何错误,但accessKeyId、secretAccessKey 和SessionToken 都是undefined。
对我做错了什么有什么建议吗?
【问题讨论】:
标签: node.js amazon-web-services amazon-cognito federated-identity