从 Javascript 连接到 parse-server - 400 禁止访问
Connecting to parse-server from Javascript - 400 Forbidden
我正在尝试通过 "npm start" 在本地 运行 parse-server。我知道服务器 运行 正在 http://localhost:1337,当我在浏览器中输入它时,我得到了一个有效的响应。但是,当我尝试使用 Javascript API 连接到它时,出现此错误:
POST http://localhost:1337/parse/login 403 (Forbidden)
如果我在 Heroku 上托管后端,它会起作用,这让我认为问题在于 Javascript 中的 Parse 寻找 https link。这就是我在 Javascript:
中加载解析的方式
var Parse = require('parse')
Parse.initialize('appID', 'javascriptKey')
Parse.serverURL = 'http://localhost:1337/parse'
大多数解决方案都是在浏览器请求中添加"X-Parse-Application-Id"和"X-Parse-Master-Key"headers,但请求是通过JavascriptAPI进行的。
我该如何解决这个问题?
您收到的 403 是对未授权请求的正常响应。在这种情况下,您需要正确传递设置所需的 headers 以通过进行身份验证。在 docs rest guide.
中可以看到一个很好的例子
# 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
注意在 headers 中传递的 appId 和 restKey,如果它们正确(并且如果服务器设置为需要 REST 密钥),您将得到一个不同的 400响应。
{"code":200,"error":"username/email is required."}
这是刚刚从文档中提取的,所以我建议您从那里开始。此外,我们还有一些方便的 JS docs too.
我正在尝试通过 "npm start" 在本地 运行 parse-server。我知道服务器 运行 正在 http://localhost:1337,当我在浏览器中输入它时,我得到了一个有效的响应。但是,当我尝试使用 Javascript API 连接到它时,出现此错误:
POST http://localhost:1337/parse/login 403 (Forbidden)
如果我在 Heroku 上托管后端,它会起作用,这让我认为问题在于 Javascript 中的 Parse 寻找 https link。这就是我在 Javascript:
中加载解析的方式var Parse = require('parse')
Parse.initialize('appID', 'javascriptKey')
Parse.serverURL = 'http://localhost:1337/parse'
大多数解决方案都是在浏览器请求中添加"X-Parse-Application-Id"和"X-Parse-Master-Key"headers,但请求是通过JavascriptAPI进行的。
我该如何解决这个问题?
您收到的 403 是对未授权请求的正常响应。在这种情况下,您需要正确传递设置所需的 headers 以通过进行身份验证。在 docs rest guide.
中可以看到一个很好的例子# 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
注意在 headers 中传递的 appId 和 restKey,如果它们正确(并且如果服务器设置为需要 REST 密钥),您将得到一个不同的 400响应。
{"code":200,"error":"username/email is required."}
这是刚刚从文档中提取的,所以我建议您从那里开始。此外,我们还有一些方便的 JS docs too.