Невозможно получить доступ к postgre с ошибочным паролем для пользователя - PullRequest
0 голосов
/ 07 мая 2020

Привет, ребята, я пытаюсь, я пытаюсь выполнить аутентификацию с помощью JWT и sequelize и postgre, я хочу проверить свой код с помощью почтальона, но у меня возникла ошибка, говорят, что пароль неверен, но мне удалось сделать миграция с тем же паролем здесь мой код:

authControllers:

import models from '../models';
import { hashPassword, jwtToken } from '../utils';

const { User } = models;

const auth = {
  async signUp(req, res, next) {
    try {
      const { name, email, password } = req.body;
      const hash = hashPassword(password);
      const user = await User.create({ name, email, password: hash });
      const token = jwtToken.createToken(user);
      const { id } = user;
      return res.status(201).send({ token, user: { id, name, email, createdAt, deletedAt } });
    } catch (e) {
      return next(new Error(e));
    }
  }
};

индекс Модели:

import fs from 'fs';
import path from 'path';
import Sequelize from 'sequelize';
import envVars from '../config/config';


// const fs = require('fs');
// const path = require('path');
// const Sequelize = require('sequelize');

const basename = path.basename(__filename);
const env = process.env.NODE_ENV || 'development';
const config = envVars[env];
const db = {};

let sequelize;
if (config.use_env_variable) {
  sequelize = new Sequelize(process.env[config.use_env_variable], config);
} else {
  sequelize = new Sequelize(config.database, config.username, config.password, config);
}

fs
  .readdirSync(__dirname)
  .filter(file => {
    return (file.indexOf('.') !== 0) && (file !== basename) && (file.slice(-3) === '.js');
  })
  .forEach(file => {
    const model = sequelize['import'](path.join(__dirname, file));
    db[model.name] = model;
  });

Object.keys(db).forEach(modelName => {
  if (db[modelName].associate) {
    db[modelName].associate(db);
  }
});

db.sequelize = sequelize;
db.Sequelize = Sequelize;

module.exports = db;

.env:

DEV_DATABASE_URL="postgres://postgres:xxx@localhost:5432/todo-dev"
TEST_DATABASE_URL="postgres://postgres:xxx@localhost:5432/todo-test"
DATABASE_URL="postgres://postgres:xxx@localhost:5432/todo-dev"
JWT_SECRET="ourjswtsecret"

config. js:

require('dotenv').config();

module.exports = {
  development: {
    database: 'todo-dev',
    url: process.env.DEV_DATABASE_URL,
    dialect: 'postgres',
  },
  database: {
    database: 'todo-test',
    url: process.env.TEST_DATABASE_URL,
    dialect: 'postgres',
  },
  production: {
    database: 'todo-dev',
    url: process.env.DATABASE_URL,
    dialect: 'postgres',
  }
};

Мне удалось выполнить миграцию с помощью sequelize db: migration, но мне не удалось создать пользователя, я не понимаю, почему я думаю, что проблема связана с моей переменной env но не вижу где никаких советов. спасибо.

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