reactjs - 如何在 react-chat-engine 中使用发布请求创建用户?
问题描述
我希望向使用 react-chat-engine 的应用程序添加注册功能,但由于 403 错误而失败。
Error: Request failed with status code 403
at createError (createError.js:16)
at settle (settle.js:17)
at XMLHttpRequest.onloadend (xhr.js:66)
用户应该能够注册、填写详细信息并使用此功能登录。我在这里发现了一个类似的问题,如何发出帖子请求以在 react-chat-engine 中创建新用户,但该解决方案对我不起作用,我没有评论的声誉;)。
我的代码:
const SignupForm = () => {
const [username, setUsername] = useState('');
const [password, setPassword] = useState('');
const [firstname, setFirst] = useState('');
const [lastname, setLast] = useState('');
const [error, setError] = useState('');
// function to handle the submit
const handleSubmit = async (e) => {
e.preventDefault();
//header for authentication
const authObject = {'Private-Key': '4922e43b-xxxxx-xxxx'}
// post request to create user
try {
await axios.post('https://api.chatengine.io/users/',
{ headers: authObject,
body: {
'username': username,
'secret': password
}
});
// login the user
localStorage.setItem('username', username)
localStorage.setItem('password', password)
window.location.reload()
} catch (error) {
console.log(error)
setError('Incorrect credentials, try again')
}
}
出于显而易见的原因,我故意模糊了我的部分私钥。我的私钥是有效的,我直接从仪表板复制了它。此外,我可以在仪表板中手动添加用户
我会错过什么?
解决方案
我认为它应该是 Body 和 Headers 的两个独立对象
axios.post(
"https://api.chatengine.io/users/",
{'username': username, 'secret': password}, // Body object
{'headers': authObject} // Headers object
)
.then(r => console.log(r))
推荐阅读
- java - public final 到处都是 xxx
- go - Prometheus PromQL 在一段时间内未正确聚合计数
- android - 嵌套的 React Native ScrollView 需要点击两次才能开始滚动
- asynchronous - 使用tokio spawn速度和单线程一样快,正确的tokio spawn方式
- python - 如何将条形图值格式化为小数点后两位,仅针对数据中存在的值?
- c# - XML 节点字符串中的正则表达式不正确
- laravel - 在运行所有单元测试之前准备数据库数据
- android - 支持“因设备而异”的应用程序所需的最低 Android 版本
- node.js - React.js localhost 和 Node Express 服务器中的 Cors 问题
- typescript - 通过函数类型的索引获取参数