function getToken()

in lambda/apigw-sap-idoc-authorizer/index.js [129:175]


function getToken(authData) {
  return new Promise(resolve => {
    var response = {
        success: false,
        authResult: {}
    } 
    
    try {
      var params = {
        AuthFlow: "ADMIN_NO_SRP_AUTH",
        UserPoolId: authData.userpoolid,
        ClientId: authData.clientid,
        AuthParameters: {
          USERNAME: authData.username,
          PASSWORD: authData.password
        }
      } 
      // Trying admin initiated auth
      var cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider() 
      cognitoidentityserviceprovider.adminInitiateAuth(params, function(
        err,
        data
      ) {
        if (err) {
          console.log("Error in getting cognito token through admin auth: ", err) 
        } else {
          try {
            var tokenId = data.AuthenticationResult.IdToken 
            if(!tokenId || tokenId=="" ){
                response.success = false 
            }else{
                //console.log("Token ID is ", tokenId) 
                response.success = true 
                response.authResult = data.AuthenticationResult 
            }
          } catch (e) {
            response.success = false 
            console.log("Error in getting AuthenticationResult: ", e) 
          }
        }
        resolve(response) 
      }) 
    } catch (e) {
      resolve(response) 
    }
  }) 
}