2017-12-10 3 views
0

Webアプリケーションにlex botを統合しようとしていますが、これは私が書いたコードです。認証されていないユーザーにIDプールを使用しました。ここに私のコードAWS.CognitoIdentityCredentialsを使用しているときに「設定が失われました」というメッセージが表示される

<!DOCTYPE html> 
 
<html> 
 

 
<head> 
 
\t <title>Amazon Lex for JavaScript - Sample Application (BookTrip)</title> 
 
\t <script src="https://sdk.amazonaws.com/js/aws-sdk-2.41.0.min.js"></script> 
 
\t 
 
\t \t // Initialize the Amazon Cognito credentials provider 
 
\t \t AWS.config.region = 'us-east-1'; // Region 
 
\t \t AWS.config.credentials = new AWS.CognitoIdentityCredentials({ 
 
\t \t // Provide your Pool Id here 
 
\t \t \t IdentityPoolId: 'us-east-1:xxxxxxxxxxxxx', 
 
\t \t \t RoleArn: 'arn:aws:cognito-identity:us-east-1:xxxxxxxxxxxx', 
 
\t \t \t 
 

 
\t \t });

ですが、毎回私は、 "configに資格情報がありません" エラーが発生します。私もAWSCognito.config.credentialsを使ってこれを試みましたが、それでも同じエラーが出ています。どんな助けもありがとう。

答えて

0

資格情報を取得するために次のように電話していますか?

// Make the call to obtain credentials 
AWS.config.credentials.get(function(){ 

    // Credentials will be available when this function is called. 
    var accessKeyId = AWS.config.credentials.accessKeyId; 
    var secretAccessKey = AWS.config.credentials.secretAccessKey; 
    var sessionToken = AWS.config.credentials.sessionToken; 

    // Add your code here that uses the credentials 

}); 

// Do NOT assume that the credentials are valid here 

注:コールバック関数が呼び出されるまで、資格情報は使用できません。よくある間違いは、AWS.config.credentials.get()を呼び出した直後に資格情報が存在することを前提として、コールバックの外部にコードを記述することです。

関連する問題