Когда я создаю ПОЛЬЗОВАТЕЛЬ Данные модель / схема с экспрессом, я всегда описываю имя, адрес электронной почты, пароль как обязательные поля и когда я делаю пользовательскую сборку врегистрация это нормально.Но когда я добавляю сторонний логин через GOOGLE или FACEBOOK, эти платформы не дают мне пароль (но это требуется в моей модели данных).Как мне решить эту архитектурную проблему?И какие токены я должен использовать, "json-web-tokens" и токены доступа Google работают по-разному, так какой токен использовать?Может ли пользователь Google использовать сборку в "json-web-tokens"?
Я предложил несколько плохих решений:
x Для разных платформсоздавать разные модели.// Управление всеми моделями будет затруднено, а для некоторых моделей требуются разные маршруты запросов.
x Создание длинного и сложного пароля для пользователя.
const mongoose = require('mongoose');
const userSchema = mongoose.Schema({
name: {type: String, required: true, min : 3},
email: {
type: String,
required: true,
unique: true,
match: /^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/,
},
password: {type: String, required: true, min : 8}
});
module.exports = mongoose.model('User', userSchema);
Итакя хочу понять, что является общим и лучшим решением для этой проблемы данных схемы / модели?Простой пользователь и пользователи Google или Facebook должны запрашивать те же маршруты?И какие токены использовать при реализации "jwt" , но при получении acces_token от Google или Facebook.
Спасибо за ответы!