'typeof'amazon-cognito-identity-js''类型的'config'属性不存在?

'typeof'amazon-cognito-identity-js''类型的'config'属性不存在?

问题描述:

在我的Ionic3应用程序中,我想更新cognito config.regionconfig.credentials,但出现以下错误属性“config”在类型“typeof”上不存在amazon-cognito-identity-js“'?'typeof'amazon-cognito-identity-js''类型的'config'属性不存在?

AWSCognito.config.region = 'us-east-1'; 

AWSCognito.config.credentials = new AWSCognito.CognitoIdentityCredentials({ 
    // This will be the Pool Id from your Cognito user pool. 
    IdentityPoolId: ConstantsValues.IdentityPoolId 
}); 

你如何(应该)参考配置对象取决于你如何把亚马逊的代码。如果没有看到您正在使用的importrequire<script>,那么很难说出什么是关闭的。

Amazon's documentationamazon-cognito-identity-js

注意,亚马逊AWS Cognito SDK为JavaScript只是瘦身 下来AWS的Javascript SDK版本的命名空间AWSCognito 而不是AWS。它仅引用Amazon Cognito Identity 服务。

我很习惯这样的方法,使用完整的SDK:

AWS.config.credentials.clearCachedId(); 
AWS.config.update({region: 'us-east-1'}); 
var cognitosync = new AWS.CognitoSync(); 

我也:

var AWS = require('aws-sdk'); 

然后你就可以通过AWS命名空间做这样的事情熟悉这种方法使用amazon-cognito-identity-js,因为如此:

import * as Cognito from 'amazon-cognito-identity-js'; 

其允许这种类型的访问:

return new Cognito.CognitoUser({ 
    Username: this.toUsername(email), 
    Pool: this.props.appState.state.pool 
}); 

getAuthTokenFromCognitoUserPool =(): Promise<Cognito.CognitoIdToken> => { 
... 
} 

然而,使用上面的进口,没有Cognito.config对象,只有一个AWS.config对象。

我建议你尝试导入完整的SDK,如果你还没有,并通过AWS命名空间。如果您使用脚本标记,这可能是这个样子:

<script src="https://sdk.amazonaws.com/js/aws-sdk-2.133.0.min.js"></script> 

如果你已经有一个这样的标签,你可能只需要改变AWSCognito.configAWS.config

希望这有助于;快乐的黑客!

只需将亚马逊sdk导入到您的服务中即可。

import * as AWS from "aws-sdk"; 

然后你可以设置一个区域。

AWS.config.region = 'us-east-1';