2017-10-13 71 views
0

在我的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 
}); 

回答

0

你如何(應該)參考配置對象取決於你如何把亞馬遜的代碼。如果沒有看到您正在使用的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

希望這有助於;快樂的黑客!

0

只需將亞馬遜sdk導入到您的服務中即可。

import * as AWS from "aws-sdk"; 

然後你可以設置一個區域。

AWS.config.region = 'us-east-1'; 
相關問題