اذهب إلى المحتوى

السؤال

نشر

أستلم خطأ "data and salt arguments required" في تطبيق Express/Node.js باستخدام PostgreSQL.

أعتقد أن المشكلة في تمرير "password" بشكل صحيح من جهة العميل، لأن عندما أقوم بـ console.log(password)، يعيد قيمة undefined بالإضافة إلى الخطأ المذكور أعلاه، لست متأكدًا من كيفية حل المشكلة.

هذا هو كود jwtAuth الخاص بي:

const express = require("express");
const router = require("express").Router();
const bcrypt = require("bcrypt");
const pool = require("../../../db");

router.post("/register", async (req, res) => {

    try { // 
        const {email, password, name1, name2} = req.body;

        const user = await pool.query("SELECT * FROM userr WHERE email = $1", [email]);

        if (user.rows.length !== 0) {
            return res.status(401).send("user already exists"); // this works
        }

      // trouble begins here
        //const saltRound = 10;
        var salt =  await bcrypt.genSalt(10);
        var bcryptPassword =  bcrypt.hashSync(password, salt);

        const newUser = await pool.query("INSERT INTO userr (lastName, firstName, email, passwrd) VALUES ($1, $2, $3, $4) RETURNING *", [name1, name2 , email, bcryptPassword]);
        res.json(newUser.rows[0]);

        // 5. generating jwt token

    } catch (err) {
        console.error(err.message);
        res.status(500).send("server error");
    }
});

module.exports = router;

 

Recommended Posts

لا توجد أي إجابات على هذا السؤال بعد

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...