AWS Cognito 用户池注册"Unknown error, the response body from fetch is: undefined"



注册用户时,将添加该用户,但脚本返回一个错误对象:{code:"UnknownError",消息:"未知错误,来自fetch的响应正文是:未定义"}

我遵循了 https://stackoverflow.com/a/52033216/8111346 的建议。 但问题并没有解决。

索引.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script src="dist/ww.js"></script>
<script>
var global = global || window;
var Buffer = Buffer || [];
var process = process || {
env: { DEBUG: undefined },
version: []
};
var w = window.w();
global.window = {w};
global.navigator = () => null;
</script>
<script src="./dist/m.js"></script>
</body>
</html>

呜.js

const WindowMock = require('window-mock');
import fetch from 'node-fetch'
global.fetch = global.fetch || fetch
function w(){
return WindowMock.localStorage;
}
window.w = w;

米.js

import { CognitoUserPool, CognitoUserAttribute } from 'amazon-cognito-identity-js';
var poolData = { UserPoolId : "us-west-2_someData",
ClientId : "someData"
};
var userPool = new CognitoUserPool(poolData);
var userName = "example@mail.com";
var attributeList = [];
var dataEmail = {
Name : 'email',
Value : userName
};
var attributeEmail = new CognitoUserAttribute(dataEmail);

attributeList.push(attributeEmail);

userPool.signUp(userName, 'password', attributeList, null, function(err, result){
if (err) {
console.log(err);
return;
}
cognitoUser = result.user;
console.log('user name is ' + cognitoUser.getUsername());
});

webpack.config.js

const path = require('path');
module.exports = {
entry: ["./module.js"],
mode: 'development',
output: {
path: path.resolve(__dirname + '/dist'),
filename: 'm.js'
},
module: {
rules: [
{
test: /.json$/,
loader: 'json-loader'
}
]
},
watch : true
};

在请求cognito-idp.us-west-2.amazonaws.com标头时,X-Amz-User-Agent: aws-amplify/0.1.x js被传递,但我不使用 Amplify。也许这是由于我的环境设置?

我很高兴读到你的想法。

在 cognitoUser 之前添加var解决了我的问题:

var cognitoUser = result.user;

节点上没有提取。您需要使用polyfill进行获取,例如节点获取

import fetch from 'node-fetch'
global.fetch = global.fetch || fetch

但请记住,Ampify 不是为在节点上工作而设计的,因此还可能存在其他问题。

相关内容

最新更新