我正在尝试使用以下方式注册新用户:
Backand.signup(firstName, lastName, username, password, password2);
但我最终得到了:
POST https://api.backand.com/1/user/signup 504 (GATEWAY_TIMEOUT)
当我检查日志(Log> Server Side Exceptions)时,我注意到这个错误:
An unexpected signup exception occured The following action:
"Create My App User" failed to perform: The operation has timed out
The operation has timed out Exception has been thrown by the target
of an invocation. The operation has timed out
我没有触及“创建我的应用用户”脚本。
安全& Auth>配置>公共应用: 打开并设置为User。我还打开和关闭匿名,并在发生权限问题时在ReadOnly和User之间切换。
几个星期前它运作得很好,有几次我能够进入安全和放大器。 Auth>注册用户的表格,但我无法在我的应用程序的用户表中创建任何新条目,甚至现在都可以使用。
任何帮助都将不胜感激。
答案 0 :(得分:2)
根据“创建我的应用用户”操作返回的服务器端错误,这是一个安全问题。
Action利用前端用户权限,在这种情况下,它要求Anonymus访问权限能够更新用户对象。
关闭匿名开关或将其更改为只读后,错误已开始。
解决方案是在服务器端操作中使用Admin的权限。要添加管理员权限,您可以使用基本身份验证授权标头。
将标题代码更改为以下行:
标题:{'授权':'基本'+ btoa(用户名+':'+密码)}
因此,“创建我的应用用户”操作中的新代码应如下所示:
var response = $ http({ 方法:“POST”, url:CONSTS.apiUrl +“/ 1 / objects / users”, params:{参数:{“sync”:true}}, 数据:参数, 标题:{'授权':'基本'+ btoa(用户名+':'+密码)} });
用户名是app master令牌(Securit& Auth / social& keys)。
密码是管理员用户密钥(用户名附近的团队/密钥图标)