Я пытаюсь создать нового пользователя на сайте wordpress удаленно, я использую остальные api, доступные изначально на всех веб-сайтах wp, проблема, с которой я сталкиваюсь, заключается в том, что для создания нового пользователя вам необходимо пройти аутентификацию с помощью администратора учетной записи, при отправке запроса я получил ошибку:
Object {
"code": "jwt_auth_bad_auth_header",
"data": Object {
"status": 403,
},
"message": "Authorization header malformed.",
}
Моя функция все в порядке, кроме этих заголовков, если кто-то может помочь
signup = (e) => {
let { username, email, password, password2 } = this.state
if (username !== '' && email !== '' && password !== '') {
if (password === password2) {
this.setState({ loading: true, error: null })
var auth = 'Basic ' + Base64.encode('coolusername' + ':' + 'securepassword')
console.log(auth)
var url = 'https://example.com'
var request = new Request(url + '/wp-json/wp/v2/users', {
method: 'POST',
headers: new Headers({
'Content-Type': 'application/json',
'Authorization': auth
}),
body: JSON.stringify({
username: username,
email: email,
password: password
})
})
fetch(request)
.then((response) => {
response.json().then((results) => {
// ...
})
})
.catch(function (err) {
console.log(err)
})
} else {
this.setState({ error: 'Passwords do not match' })
}
} else {
this.setState({ error: 'Error: Missing fields' })
}
}
Я считаю, что эта ошибка вызывает это 'Authorization'
должно сопровождаться base64 username: password, но когда я пытаюсь декодировать строку, которую я передал, я получаю другую строку, не совсем то, что я ввел, я ранее использовал js-base64
npm библиотеку, она работает нормально .