【问题标题】:Connecting to parse-server from Javascript - 400 Forbidden从 Javascript 连接到解析服务器 - 400 Forbidden
【发布时间】:2018-04-21 19:31:04
【问题描述】:

我正在尝试通过执行“npm start”在本地运行 parse-server。我知道服务器在http://localhost:1337 运行,当我在浏览器中输入它时,我得到了一个有效的响应。但是,当我尝试使用 Javascript API 连接到它时,我收到了这个错误:

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

如果我在 Heroku 上托管后端,它就可以工作,这让我认为问题在于 Javascript 中的 Parse 会寻找 https 链接。这就是我在 Javascript 中加载解析的方式:

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

大多数解决方案涉及在浏览器请求中添加“X-Parse-Application-Id”和“X-Parse-Master-Key”标头,但请求是通过 Javascript API 发出的。

我该如何解决这个问题?

【问题讨论】:

    标签: javascript node.js parse-platform parse-server


    【解决方案1】:

    您收到的 403 是未经授权请求的正常响应。在这种情况下,您需要正确传递设置所需的标头以通过身份验证。在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
    

    注意在标头中传递的 appId 和 restKey,如果它们是正确的(并且如果服务器设置为需要 REST 密钥),您将获得不同的 400 响应。

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

    这只是从文档中提取的,所以我建议您从那里开始。此外,我们还有一些方便的JS docs too

    【讨论】:

    • 问题是,当我将后端托管在 Heroku 上时,一切正常,即使我将 Parse 服务器修改为使用 SSL,它也只会在我运行 localhost 时出现该错误。使用 Javascript 库时可以手动声明标头吗?
    • 假设您在 localhost 中启动的服务器没有问题,您应该可以正常连接。使用 TLS/SSL 不是问题,纯 HTTP 工作得很好。仔细检查您的配置匹配项(appId、js 密钥)并验证您的服务器已配置为使用这些密钥。至于标头,sdk 在初始化期间传递时会在内部处理。
    猜你喜欢
    • 2016-02-02
    • 1970-01-01
    • 1970-01-01
    • 2017-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-17
    • 1970-01-01
    相关资源
    最近更新 更多