2017-12-10 13 views
0

웹 앱에 lex 봇을 통합하려고하는데, 이것은 작성한 코드입니다. 인증되지 않은 사용자에 대해 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 });

입니다하지만 때마다 나는 "설정에서 자격 증명을 누락"오류가 발생하고있다. 또한 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()을 호출 한 직후에 자격 증명이 존재한다고 가정하고 콜백 외부에서 코드를 작성하는 것입니다.