4

我正在尝试使用以下方法注册新用户:

Backand.signup(firstName, lastName, username, password, password2);

但我最终得到:

POST https://api.backand.com/1/user/signup 504 (GATEWAY_TIMEOUT)

当我检查日志(日志 > 服务器端异常)时,我注意到这个错误:

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

我还没有触及“创建我的应用程序用户”脚本。

安全和身份验证 > 配置 > 公共应用程序:打开并设置为用户。如果出现权限问题,我还打开和关闭了匿名,并在 ReadOnly 和 User 之间切换。

几周前它工作得很好,有几次我能够进入 Security & Auth > Registered User 表,但我无法让它在我的应用程序的用户表中创建任何新条目,甚至现在工作。

任何帮助,将不胜感激。

4

1 回答 1

2

根据“创建我的应用用户”操作返回的服务器端错误,这是一个安全问题。

Action 利用前端用户权限,在这种情况下,它要求 Anonymus 访问能够更新用户对象。

该错误是在您关闭匿名开关或将其更改为只读后开始的。

解决方案是在服务器端操作中使用管理员的权限。要添加管理员权限,您可以使用基本的 auth Authorization 标头。

将标题代码更改为这一行:

headers:{'Authorization':'basic' + btoa (username + ':'+ password) }

因此“创建我的应用用户”操作中的新代码应如下所示:

var response = $http({ method: "POST", url:CONSTS.apiUrl + "/1/objects/users", params: {parameters: {"sync": true}}, data: parameters, headers:{'授权':'基本' + btoa (用户名 + ':'+ 密码) } });

用户名是应用主令牌(Securit & Auth /social &keys)。

密码是管理员用户密钥(用户名附近的团队/密钥图标)

于 2016-03-23T22:02:15.757 回答