Как должна выглядеть модель юзера при нескольких методах авторизации?
Нужно добавить на проект 2 метода авторизации, но я не могу понять как при этом должна выглядеть модель юзера. На данный момент тип авторизации логин/пароль, так же добавлю fb, tg.
Модель выглядит следующим образом:
const UserSchema = new mongoose.Schema({
username: { type: String, unique: true, required: false },
password: { type: String, required: false },
method: { type: String, required: true }, // Тут я планировал записывать какой метод авторизации использует юзер. Local/FB/TG
roles: { type: Array, default: ['user'] }
}, {
timestamps: true,
});
Правильно ли я понимаю, что в моем случае модель должна выглядеть примерно следующим образом?
const UserSchema = new mongoose.Schema({
username: { type: String, unique: true, required: false },
displayName: { type: String, required: true },
password: { type: String, required: false },
socialId: { type: Number, required: false },
method: { type: String, required: true },
roles: { type: Array, default: ['user'] }
}, {
timestamps: true,
});
При локальной авторизации через логин пароль я беру username, при авторизации через соц. сети я беру id + type. Либо же делать запись в socialId {socialId: 'fb_43342'}, {socialId: 'tg_943'}, для метода логин-пароль поле socialId пустое.
В правильном направлении мыслю?