Я хочу полностью отделить свое клиентское приложение от сервера Parse, чтобы облегчить переход на другой Baas/custom backend в будущем. Таким образом, весь запрос клиента указывает на сервер node.js, который сделает запрос на Parse от имени пользователя.Parse Server Node.js SDK: альтернатива Parse.User.become?
Client <--> Node.js Server <--> Parse Server
Таким образом, мне нужен сервер Node.js, чтобы иметь возможность переключаться между пользователями, так что я могу держать контекст их аутентификации.
Я знаю, как сначала авторизуйтесь, а затем сохранить sessionToken пользователя, и я видел во время моего исследования, чем «принято» решение этой проблемы должно было назвать Parse.User.disableUnsafeCurrentUser
, а затем с помощью Parse.User.become()
для переключения текущего пользователя к одному сделать запрос.
Но это чувствует себя взломанным, и я уверен, что это рано или поздно приведет к состоянию гонки, когда текущий пользователь переключается до того, как запрос будет сделан в Parse.
Другое решение, которое я нашел, было не заботится о Parse.User и использовать masterKey, чтобы сохранить все на сервере, но это сделает сервер ответственным за ACL.
Есть ли способ сделать запрос от другого пользователя, кроме thoses two?
Итак, вы используете второе найденное мной решение. Я признателен, что кто-то подтвердил это, но если это вообще возможно, я предпочитаю не выполнять проверку разрешений на сервере. – DrakaSAN
Упс - Я как бы пропустил этот абзац в вашем вопросе о втором решении. Сожалею!Да, отсутствие принудительного исполнения ACL вызывает раздражение, это по сути означает, что вам нужно будет проверить для каждого пользователя явно, разрешено ли ему читать или писать. –
Объяснение нисходящего потока было бы неплохо ... –