Модель данных / Схема для разных платформ регистрации - PullRequest
0 голосов
/ 11 апреля 2019

Когда я создаю ПОЛЬЗОВАТЕЛЬ Данные модель / схема с экспрессом, я всегда описываю имя, адрес электронной почты, пароль как обязательные поля и когда я делаю пользовательскую сборку врегистрация это нормально.Но когда я добавляю сторонний логин через 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.

Спасибо за ответы!

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