Отключить аутентификацию пользователя по умолчанию на сервере разбора

Как мы можем запретить пользователю регистрироваться с именем пользователя и паролем?

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

мы не предоставляем это как нашу аутентификацию, но кто-то может создать собственный код входа и попытаться манипулировать нашим сервером синтаксического анализа, чтобы обойти метод аутентификации.

oauth: {
        accountkit: {
            appIds: '',
            appSecret: ''
        },
        **email: false**
     },

Есть ли возможность отключить устаревший метод регистрации? (электронная почта: ложь)?

1 ответ

Решение

В моем приложении, которое использует Facebook и Twitter Oauth для входа в систему / регистратор пользователя. Я контролирую перед сохранением триггера, если пользователь предоставляет authData.

Parse.Cloud.beforeSave(Parse.User, function(request, response) {
  const user = request.object;
  if (user.get("authData")) {
    response.success(request.object);
  } else {
    response.error("Only oauth allow");
  }
});

Я не знаю, хороший ли это метод, но он блокирует регистрацию с помощью имени пользователя / пароля.

Изменить: Первое решение не является хорошим, потому что оно будет выдавать ошибку каждый раз, когда пользователь обновляется, я нашел лучшее решение:

if (request.user || request.master) {
    response.success(request.object);
} else {
  const user = request.object;
  if (user.get("authData")) {
    response.success(request.object);
  } else {
    response.error("Only OAuth login allowed");
  }
}

В этом случае мы выполняем управление только в том случае, если запрос не выполнен зарегистрированным пользователем или с использованием masterKey (например, панель анализа парсера)

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