amazon-web-servicesamazon-cognitosrp-protocol

Cognito UnknownError after turn on device registration


As per requirement, I need to turn on device registration to Always. However, our SRP flow starts failing with the below issue.

{ code: 'UnknownError', message: 'Unknown error, the response body from fetch is: undefined' }

After doing some research, I found one similar post, but it seems like the only solution is to turn device registration off.

It's failing while running node get-token.js script to retrieve token for our CI/CD testing pipeline.

    cognitoUser.authenticateUser(authCfg, {
        onSuccess: function (result) {
            console.log("Result : ", result);
            const token = result.getAccessToken().getJwtToken();
            resolve(token)
        },
        onFailure: function(err) {
            console.error("Failure : ", err);
            console.log(new Error().stack);
            reject(new Error("An error occurred: " + err))
        },
        newPasswordRequired: function (userAttributes, requiredAttributes) {
            cognitoUser.completeNewPasswordChallenge(p, userAttributes, this);
        },
    });

Solution

  • Seems like I missed the point mentioned in this post . Adding the below code works.

    const WindowMock = require('window-mock');
    global.window = {localStorage: WindowMock.localStorage};
    global.navigator = () => null;