AWS Cognito:缺少AWS.config.credentials的'get'方法

问题描述 投票:2回答:1

我正在构建一个将使用Cognito User Pool登录的Angular2应用程序。我能够成功验证用户;但是,无法获取经过身份验证的用户的访问密钥,密钥和会话令牌。

根据我的理解,我应该能够调用AWS.config.credentials.get( <callback> ),如下所示,但是TypeScript抱怨找不到get方法(尽管我可以在aws-sdk模块的类型声明中看到该方法)。

有任何想法吗?

// As part of authenticateUser - onSuccess callback...
var logins = {};
logins[`cognito-idp.${CognitoHelper.REGION}.amazonaws.com/${CognitoHelper.USER_POOL_ID}`] = session.getIdToken().getJwtToken();

// Add the user's token to the credential map
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
  IdentityPoolId: CognitoHelper.IDENTITY_POOL_ID,
  Logins: logins
});

// Get access keys
AWS.config.credentials.get( (error) => {  <-- .get method not found!
  if (error) { // do something }
});
angular amazon-web-services amazon-cognito typescript2.0 aws-cognito
1个回答
2
投票

对于那些感兴趣的人,我最终通过铸造到AWS.Credentials解决如下:

(AWS.config.credentials as AWS.Credentials).get( (err) => { } )

我不是TypeScript专家,但这解决了编译器问题。

© www.soinside.com 2019 - 2024. All rights reserved.