Backand.signup() - "Создать пользователя моего приложения" не удалось

Я пытаюсь зарегистрировать нового пользователя, используя:

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, но я не могу заставить ее создавать какие-либо новые записи в пользовательской таблице моего приложения или даже работать на всех сейчас.

Любая помощь будет оценена.

1 ответ

Решение

На основании ошибки на стороне сервера, которая вернулась из действия "Создать пользователя моего приложения", это проблема безопасности.

Действие использует разрешение интерфейсного пользователя и, в этом случае, требует, чтобы доступ Anonymus мог обновлять объект пользователей.

Ошибка началась после того, как вы отключили анонимный переключатель или изменили его только для чтения.

Решением является использование прав администратора в действиях на стороне сервера. Чтобы добавить разрешение администратора, вы можете использовать основной заголовок авторизации авторизации.

Измените код заголовка на следующую строку:

заголовки:{'Авторизация':'basic ' + btoa (имя пользователя + ':'+ пароль) }

Поэтому новый код в действии "Создать пользователя моего приложения" должен выглядеть следующим образом:

var response = $ http ({method: "POST", url: CONSTS.apiUrl + "/ 1 / objects / users", params: {parameters: {"sync": true}}, данные: параметры, заголовки:{' Авторизация ':' basic '+ btoa (имя пользователя +': '+ пароль) } });

Имя пользователя - это главный токен приложения (Securit & Auth /social &keys).

Пароль - это ключ пользователя Admin (значок команды / ключа рядом с именем пользователя)

Другие вопросы по тегам