2017-11-30 6 views
0

현재 aws인지 인증을 위해 두 개의 토큰을 생성하는 스크립트를 가져 와서 우편 배달부 테스트에 사용하려고합니다. 여기에 내가 명령 행에서이 파일을 실행할 수 있습니다node.js 파일을 우편 배달원 요청에 통합하는 방법은 무엇입니까?

const AWS = require('aws-sdk'); 
const CognitoSDK = require('amazon-cognito-identity-js-node'); 

var authenticationData = { 
    Username: 'username', 
    Password: 'password' 
}; 
var authenticationDetails = new CognitoSDK.AuthenticationDetails(authenticationData); 
var poolData = { 
    UserPoolId: 'aws_region', 
    ClientId: 'aws_user_client_id' 
}; 
var userPool = new CognitoSDK.CognitoUserPool(poolData); 
var userData = { 
    Username: 'username', 
    Pool: userPool 
}; 
var cognitoUser = new CognitoSDK.CognitoUser(userData); 
cognitoUser.authenticateUser(authenticationDetails, { 
    onSuccess: function (result) { 
     console.log('access token + ' + result.getAccessToken().getJwtToken()); 
     /*Use the idToken for Logins Map when Federating User Pools with Cognito Identity or when passing through an Authorization Header to an API Gateway Authorizer*/ 
     console.log('idtoken + ' + result.idToken.jwtToken); 
    }, 
    onFailure: function (err) { 
     console.log(`Error: ${err}`); 
    }, 
}); 

내가 통합하려고 코드는 ...이며 2 토큰을 반환하지만 나는 복사를 통해 우체부이 점을 통합하고 이전 코드를 붙여하려고 할 때 사전 요청 스크립트에 저장하거나 전역 변수로 저장하고 eval 함수를 사용하면 Postman에서 다음 오류가 발생합니다.

사전 요청 스크립트를 평가하는 중 오류가 발생했습니다 : 오류 : 모듈을 찾을 수 없습니다 ' aws-sdk '

무엇이 누락 되었습니까?

답변

0

사전 요청 스크립트는 요청 자체를 보내기 전에 실행됩니다. 패키지를 가져 오려고하지만 Postman은 그 패키지가 무엇인지에 대한 단서가 없습니다. 외부 JS 파일을 가져 오기위한 npm 자체는 없습니다. 이 대안으로, 환경 변수로 외부 (AWS-SDK) 스크립트를 배치하고 AFAIK이 가장 간단한 방법입니다

eval(postman.getGlobalVariable('your_aws_sdk_code')) 

를 실행하고 그 동기이다 (나는 그것을보다 귀하의 경우에 더 적합하다고 생각 다른 방법들). 우편 배달부는 여전히 간단한 방법을 사용하고 있습니다. 자세한 내용은 github에서 확인할 수 있습니다.

+0

정보를 제공해 주셔서 감사합니다. 정말 도움을 주셔서 감사합니다! –