Невозможно обновить токены сеанса с refreshToken, используя Node и AWS Cognito. - PullRequest
0 голосов
/ 28 июня 2019

Я использую amazon-cognito-identity-js с nodejs для создания аутентификационного API.У меня возникают проблемы при попытке обновить idToken, используя refreshToken, полученный при входе в систему.Вот мой код ниже.

module.exports = class AuthenticationService{
        constructor() {
            this.poolData = {
                UserPoolId: "xxxx", // Your user pool id here
                ClientId: "xxxx" // Your client id here
            };
            this.pool_region = 'xxxx';
            this.userPool = new AmazonCognitoIdentity.CognitoUserPool(this.poolData);
        }
         renewToken(data) {
            const RefreshToken = new AmazonCognitoIdentity.CognitoRefreshToken({RefreshToken: data.refreshToken});
            const userData = {
                Username: data.username,
                Pool: this.userPool
            };

            const cognitoUser = new AmazonCognitoIdentity.CognitoUser(userData);
            return new Promise((resolve, reject) => {
                cognitoUser.refreshSession(RefreshToken, (err, session) => {
                    if (err) {
                        reject(err);
                    } else {
                        resolve(session);
                    }
                });
            });
        };
    }

Я получаю один логин на refreshToken.Однако я получаю сообщение об ошибке

{
        "code": "NotAuthorizedException",
        "name": "NotAuthorizedException",
        "message": "Invalid Refresh Token."
}

Есть идеи, где я могу ошибаться?

...