Надлежащий способ справиться с этим крайним случаем входа на Facebook? - PullRequest
0 голосов
/ 29 марта 2019

У меня есть пользовательская схема, где пароль является обязательным полем

const userSchema = new Schema({
// Some other stuff
password: { type: String,
            min: [8,'Too short, min 8 characters'],
            max: [16, 'Too long, max 16 characters allowed '],
            required: "Password is required"
})

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

Я также не знаю, было бы хорошей идеей сохранить нового пользователя со свойством password: undefined.

Как мне справиться с этой ситуацией, чтобы создать пользователя без пароля, который требуетсяполе?любая помощь будет принята заранее спасибо!

1 Ответ

1 голос
/ 29 марта 2019

Я думаю, что вы можете использовать генератор случайных паролей при первом входе в Facebook и сохранить другое поле с именем isActive в качестве значения по умолчанию false.

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

После этого вы можете сделать поле пользователя активным true , чтобы вы могли понять, что пользователь вошел в систему со своим паролем.

const userSchema = new Schema({
  // Some other stuff
  password: { 
   ...
   default: "Call your random generator function here like this.random()",
  },
  isActive: { 
   type: Boolean,
   default: false
  }

)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...