Cognito User Pools возвращает нулевой пользовательский объект - PullRequest
0 голосов
/ 09 апреля 2020

Ребята, я получаю похожую ошибку, когда мой getCurrentUser возвращает ноль. Я думаю, я частично знаю причину того же.

<script type="text/javascript" src="https://sdk.amazonaws.com/js/aws-sdk-2.7.16.min.js" ></script>
    <script type="text/javascript" src="/web/amazon-cognito-identity.js"></script>
    <script type="text/javascript" src="/web/aws-cognito-sdk.js"></script>

    import * as AWSCognito from 'amazon-cognito-identity';

const region = 'us-east-1';
const docClient = createDynamoDbClient();

function createDynamoDbClient() {

    AWS.config.update({
    region: "us-east-1",    endpoint: 'https://dynamodb.us-east-1.amazonaws.com'});

    userAuth();

  return new AWS.DynamoDB();
}

function userAuth() {
  var data = {
        UserPoolId: '***********',
        ClientId: '************'
    };

    var userPool = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserPool(data);

    var cognitoUser = userPool.getCurrentUser();
    try {

        if (cognitoUser != null) 
        {
            cognitoUser.getSession(function(err, session) 
            {
                if (err) {
                    console.log(err);
                    return;
                }

                AWS.config.region = 'us-east-1';
                AWS.config.credentials = new AWS.CognitoIdentityCredentials(
                {
                    IdentityPoolId : 'us-east-1:********', 
                    Logins : {
                        "cognito-idp.us-east-1.amazonaws.com/us-east-1_*******": session.getIdToken().getJwtToken()
                    }
                });   

                AWS.config.credentials.get(function(err) {
                if (!err) 
                {
                    console.log("In try block 4");
                    var id = AWS.config.credentials.identityId;
                    console.log('Cognito Identity ID '+ id);

                    var docClient = new AWS.DynamoDB.DocumentClient(
                    { 
                        region: AWS.config.region 
                    }
                );

                var params = 
                {
                    TableName: 'VideoInfo',
                    Item:{
                        keyName:kN, 
                        technicalMetadata:tM
                    }
                };

                docClient.put(
                    params,
                    function(err, data) {
                        if (err){ 
                            console.error(err);
                        }else
                        { 
                            console.log(data);
                        }
                    }
                );
                }
            });
        });
    } 
    else {
        console.log(cognitoUser);
        return;
    }
} catch (e) {
  console.log(e);
  return;
}

}

По существу, я получаю указанную ниже ошибку, которая вызывает полную проблему.

Ошибка типа: root .AWSCognito не определен ReferenceError: AmazonCognitoIdentity не определено

Возможно, это означает, что я не получаю сам объект AWSCognito, используя который я могу получить правильный UserPool и заканчивая нулевым пользователем.

Потратил много времени на это сегодня и очень признателен, если кто-то может помочь в этом!

введите описание изображения здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...