无法在parse.com上创建用户(未经授权)

时间:2015-10-12 09:52:02

标签: curl parse-platform

我创建了一个角色admin和具有该角色的用户 在解析数据浏览器中,我在安全部分admin中添加了read & write个角色 Public只能读取数据 通过curl我正在尝试创建新用户:

curl -X POST \
  -H "X-Parse-Application-Id: ???" \
  -H "X-Parse-REST-API-Key: ???" \
  -H "X-Parse-Revocable-Session: 1" \
  -H "Content-Type: application/json" \
  -d '{"username":"somename","password":"xxxyyyyuuu"}' \
  --data-urlencode 'username=superuser' \
  --data-urlencode 'password=???????' \
  https://api.parse.com/1/users

我得到了:

{"error":"unauthorized"}

为了在用户表中创建用户,我缺少什么?

1 个答案:

答案 0 :(得分:2)

您似乎可能正在使用类级安全设置,在这种情况下,您的错误可能只是您没有正确传递当前用户详细信息。您需要获取当前用户会话令牌并使用-H "X-Parse-Session-Token:传递该令牌,而不是尝试使用--data-urlencode传递详细信息。

对于ACL,适用于已创建的可编辑对象,而不是创建新对象的能力。因此它与其余问题无关。您尚未清楚设置此ACL的位置,但似乎限制了对现有用户的访问权限。

您正在做的是注册新用户。为此,您不应该使用--data-urlencode,因为您正在发布。您似乎在创建其他用户时尝试将其作为一个用户进行身份验证,但您无法做到。一个用户需要已经登录才能拥有会话令牌,然后您可以使用-H "X-Parse-Session-Token:将其与请求一起传递。

因此,您的目标似乎是将用户创建限制为特定角色的用户。要做到这一点,您应该在云代码中创建自己的功能,发送当前登录用户的令牌,该用户在云代码中用于获取用户并检查他们是该角色的成员。同时发送新用户的用户名和密码,以便验证完成后,您可以注册新用户(并返回用户详细信息)。