Вопрос:

Подключение к парс-серверу из Javascript - 400 запрещено

javascript node.js parse-platform parse-server

379 просмотра

1 ответ

1623 Репутация автора

Я пытаюсь запустить parse-сервер локально, выполнив "npm start". Я знаю, что сервер работает по адресу http: // localhost: 1337 , и когда я ввожу это в браузер, я получаю правильный ответ. Однако, когда я пытаюсь подключиться к нему с помощью API Javascript, я получаю эту ошибку:

POST http://localhost:1337/parse/login 403 (Forbidden)

Это работает, если я размещаю серверную часть на Heroku, что заставляет меня думать, что проблема в том, что Parse в Javascript ищет ссылку https. Вот как я загружаю анализ в Javascript:

var Parse = require('parse')
Parse.initialize('appID', 'javascriptKey')
Parse.serverURL = 'http://localhost:1337/parse'

Большинство решений включают добавление заголовков «X-Parse-Application-Id» и «X-Parse-Master-Key» к запросу браузера, но запрос выполняется через API Javascript.

Как я могу обойти это?

Автор: Alessandro Источник Размещён: 08.11.2017 10:54

Ответы (1)


0 плюса

86 Репутация автора

Решение

Получаемый вами 403 является нормальным ответом на неавторизованный запрос. В этом случае вам нужно будет правильно передать заголовки, необходимые вашей установкой для аутентификации через. Хороший пример можно увидеть в путеводителе по документации .

# Signup a new user
curl -X POST \
  -H "X-Parse-Application-Id: app-id-here" \
  -H "X-Parse-REST-API-Key: ${REST_API_KEY}" \
  -H "X-Parse-Revocable-Session: 1" \
  -H "Content-Type: application/json" \
  -d '{"username":"cooldude6","password":"p_n7!-e8","phone":"415-392-0202"}' \
  http://localhost:1337/parse/users


# Login as user
curl -X GET \
  -H "X-Parse-Application-Id: app-id-here" \
  -H "X-Parse-REST-API-Key: ${REST_API_KEY}" \
  -H "X-Parse-Revocable-Session: 1" \
  -G \
  --data-urlencode 'username=cooldude6' \
  --data-urlencode 'password=p_n7!-e8' \
  http://localhost:1337/parse/login

Обратите внимание, что appId и restKey передаются в заголовках, если они верны (и если сервер настроен на использование ключа REST), вы получите другой ответ 400 .

{"code":200,"error":"username/email is required."}

Это было просто извлечено из документации, поэтому я бы порекомендовал вам начать там. Кроме того, у нас есть несколько удобных JS-документов .

Автор: montymxb Размещён: 10.11.2017 09:22
Вопросы из категории :
32x32