как сделать запрос на публикацию для создания новых пользователей в react-chat-engine

#javascript #reactjs #api #web #react-chat-engine

Вопрос:

Я создаю приложение для чата с помощью движка react-chat. и все работает нормально. за исключением того факта, что я не знаю, как сделать запрос на публикацию для создания новых пользователей. Пожалуйста, кто-нибудь может мне помочь. Мне это действительно нужно.

Вот мой код

 const handelSubmit = async(e) => {
  e.preventDefault();
  if (!(username.length > 0 amp;amp; password === confirmPassword amp;amp; password.length > 0)) return;

  const authObject = {
    'Private-Key': '2f389292-d5e1-4799-bd31-b456e7e94845',
    // 'Project-ID': '25a91c10-8623-4a0d-a48a-3de096d44b54',
    // 'User-Name': username,
    // 'User-Secret': password
  }

  const authHeader = {
    'Private-Key': '2f389292-d5e1-4799-bd31-b456e7e94845',
    'Project-ID': '25a91c10-8623-4a0d-a48a-3de096d44b54',
  }
  // const authBody = {
  //    'username': username,
  //    'secret': password
  // }



  try {
    //fetch the current user if it exists
    const userExists = await axios.get('https://api.chatengine.io/users', {
      headers: authObject
    });
    console.log('worked');
    console.log(userExists);
    // if user already exists and in localStorage redirect them to the chat room
    if (userExists amp;amp; (localStorage.getItem('username') amp;amp; localStorage.getItem('username') === username)) {
      setTimeout(() => {
        history.push('/chat')
      }, 1000)
      return;
    }
    console.log('worked2');
    // if user don't exists, create a new user 
    await axios.post('https://api.chatengine.io/users', {
      headers: authHeader,
      body: {
        'username': username,
        'secret': password
      }
    });
    // //saving user's username and password to localStorage
    // localStorage.setItem('username', username);
    // localStorage.setItem('password', password);
    //redirecting them to the login page to login
    console.log('worked25');
    history.push('/login')
  } catch (error) {
    console.log(error);
    setError(`oops, something went wrong`)
  }

} 

Пожалуйста. игнорируйте другие строки и сосредоточьтесь на пути try/catch
Я пытаюсь добавить нового пользователя к пользователям. Но он продолжает выводить эту ошибку на консоль.

 Error: Request failed with status code 403
    at createError (createError.js:16)
    at settle (settle.js:17)
    at XMLHttpRequest.handleLoad (xhr.js:62)
 

Что я могу сделать

Ответ №1:

Попробуйте сделать

 const authHeader = {'Private-Key': '2f389292-d5e1-4799-bd31-b456e7e94845'}
 

только и добавляя a / в конце, https://api.chatengine.io/users/ и я думаю, что это сработает

Если нет, то ваш закрытый ключ, вероятно, неверен.

(Кроме того, вы не должны публиковать свой закрытый ключ в Интернете подобным образом, по какой-то причине он является закрытым.)