我创建了一个角色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"}
为了在用户表中创建用户,我缺少什么?
答案 0 :(得分:2)
您似乎可能正在使用类级安全设置,在这种情况下,您的错误可能只是您没有正确传递当前用户详细信息。您需要获取当前用户会话令牌并使用-H "X-Parse-Session-Token:
传递该令牌,而不是尝试使用--data-urlencode
传递详细信息。
对于ACL,适用于已创建的可编辑对象,而不是创建新对象的能力。因此它与其余问题无关。您尚未清楚设置此ACL的位置,但似乎限制了对现有用户的访问权限。
您正在做的是注册新用户。为此,您不应该使用--data-urlencode
,因为您正在发布。您似乎在创建其他用户时尝试将其作为一个用户进行身份验证,但您无法做到。一个用户需要已经登录才能拥有会话令牌,然后您可以使用-H "X-Parse-Session-Token:
将其与请求一起传递。
因此,您的目标似乎是将用户创建限制为特定角色的用户。要做到这一点,您应该在云代码中创建自己的功能,发送当前登录用户的令牌,该用户在云代码中用于获取用户并检查他们是该角色的成员。同时发送新用户的用户名和密码,以便验证完成后,您可以注册新用户(并返回用户详细信息)。