【问题标题】:util.crypto.lib. randomBytes is not a function : aws cognito js throws error on authenticationutil.crypto.lib。 randomBytes 不是函数:aws cognito js 在身份验证时抛出错误
【发布时间】:2018-06-18 20:18:13
【问题描述】:

我收到以下错误:

TypeError: __WEBPACK_IMPORTED_MODULE_0_aws_sdk_global__.util.crypto.lib.
randomBytes is not a function

当我尝试使用我编写的以下代码对用户进行身份验证时:

import { CognitoUserPool, CognitoUserAttribute, CognitoUser, AuthenticationDetails } 
from 'amazon-cognito-identity-js';

let authenticationDetails = new AuthenticationDetails({
    Username: username,
    Password: password
});

let userPool = new CognitoUserPool({
    UserPoolId: 'us-east-1_1TXXXXXXbXX',
    ClientId: '4da8hrXXXXXXXXXXXXmj1'
});

let cognitoUser = new CognitoUser({
    Username: username,
    Pool: userPool
});

// THE ERROR IS THROWN AS SOON AS IT HITS THE BELOW
// STATEMENT
cognitoUser.authenticateUser(authenticationDetails, {
    onSuccess: function (result) {
        console.log('access token + ' + result.getAccessToken().getJwtToken());
    },
    onFailure: function(err) {
        console.log(err);
    }
});

这可能是什么原因?我错过了什么?

【问题讨论】:

  • 如果降级后npm install --save aws-sdk@2.177.0不行,降级后试试npm install。它对我有用。

标签: javascript reactjs amazon-web-services amazon-cognito


【解决方案1】:

更新(2018 年 1 月 12 日):

amazon-cognito-identity-js 开发者已经在 v1.31.0 中锁定了aws-sdk 版本,因此您不必再降级aws-sdk,只需升级软件包即可:

npm install amazon-cognito-identity-js@1.31.0 --save

aws-sdk 包似乎有问题。这是您正在使用的 amazon-cognito-identity-js 包的依赖项。

你可以尝试通过运行来降级它:

npm install aws-sdk@2.177.0 --save

【讨论】:

  • “看起来 aws-sdk 包有问题。” 是什么让你这么想?
  • @SuhailGupta 这是您正在使用的软件包的依赖项。这意味着您的应用程序在底层依赖于 aws-sdk。
  • @SuhailGupta 因为它是在 GitHub 上报告的。见:github.com/aws/amazon-cognito-identity-js/issues/646
  • 是的,但这并不意味着它已经在根 package.json 中
  • @SuhailGupta 你要么降级它,要么等到软件包开发人员在下一个版本中解决这个问题(如果他们要解决这个问题的话)。
【解决方案2】:

降级是目前唯一的选择。我面临这个错误几个小时,无法弄清楚实际问题。我猜 AWS 应该保持正确的版本控制并且只推送稳定版本。 :\ aws-sdk 2.177.0 工作得很好。您可以使用 AWS 的 angular-2-cognito 样板。

【讨论】:

    猜你喜欢
    • 2018-01-29
    • 2020-12-31
    • 2016-06-25
    • 1970-01-01
    • 2021-06-25
    • 2016-10-06
    • 2018-05-08
    • 1970-01-01
    • 2017-01-02
    相关资源
    最近更新 更多