From 57ac476e3303993ea523c43b7de638d4f1ce3e85 Mon Sep 17 00:00:00 2001
From: Biswakalyan Bhuyan <biswa@surgot.in>
Date: Thu, 25 Jul 2024 13:00:43 +0530
Subject: fixed bugs

---
 backend/hash.js         |  9 +++++++++
 backend/index.js        | 11 +++++++++--
 src/components/Login.js |  7 +++++--
 3 files changed, 23 insertions(+), 4 deletions(-)
 create mode 100644 backend/hash.js

diff --git a/backend/hash.js b/backend/hash.js
new file mode 100644
index 0000000..e6d3ba5
--- /dev/null
+++ b/backend/hash.js
@@ -0,0 +1,9 @@
+const bcrypt = require('bcryptjs');
+
+const password = 'password123';
+const saltRounds = 10;
+
+bcrypt.hash(password, saltRounds, function(err, hash) {
+  if (err) throw err;
+  console.log('Hashed password:', hash);
+});
diff --git a/backend/index.js b/backend/index.js
index 9dae733..090296e 100644
--- a/backend/index.js
+++ b/backend/index.js
@@ -7,6 +7,8 @@ const jwt = require('jsonwebtoken');
 const app = express();
 const PORT = 5000;
 
+const SECRET_KEY = 'your_jwt_secret'; // Replace with your actual secret key
+
 // Middleware
 app.use(bodyParser.json());
 app.use(cors());
@@ -16,25 +18,30 @@ const users = [
   {
     id: 1,
     username: 'admin',
-    password: '$2a$10$QWJkLkFgD1kz6X.0Q1jDg.2aH3eRJ/Qnl72sDgB5DlQvPvFjsKFDi', // hashed password for 'password123'
+    password: '$2a$10$0chEQ/BjpmW2W9J1aA/BNOwF0aeFSBg4IAXnPjjLzSnQmXagdIzra', // hashed password for 'password123'
   },
 ];
 
 // Login route
 app.post('/login', async (req, res) => {
   const { username, password } = req.body;
+  console.log('Login attempt:', username, password);
 
   const user = users.find((user) => user.username === username);
   if (!user) {
+    console.log('User not found');
     return res.status(401).json({ message: 'Invalid credentials' });
   }
 
   const isPasswordValid = await bcrypt.compare(password, user.password);
+  console.log('Password valid:', isPasswordValid);
   if (!isPasswordValid) {
+    console.log('Invalid password');
     return res.status(401).json({ message: 'Invalid credentials' });
   }
 
-  const token = jwt.sign({ id: user.id }, 'your_jwt_secret', { expiresIn: '1h' });
+  const token = jwt.sign({ id: user.id }, SECRET_KEY, { expiresIn: '1h' });
+  console.log('Token generated:', token);
   res.json({ token });
 });
 
diff --git a/src/components/Login.js b/src/components/Login.js
index 1b0a9ed..c73b59a 100644
--- a/src/components/Login.js
+++ b/src/components/Login.js
@@ -9,12 +9,15 @@ function Login() {
   const handleSubmit = async (event) => {
     event.preventDefault();
     try {
+      console.log('Attempting login with:', { username, password });
       const response = await axios.post('http://localhost:5000/login', {
         username,
         password,
       });
-      console.log(response.data);
-      // handle successful login, e.g., redirect to admin panel
+      const { token } = response.data;
+      console.log('Login successful, token:', token);
+      localStorage.setItem('jwtToken', token);
+      // Redirect to admin panel or another page after successful login
     } catch (error) {
       setError('Invalid credentials');
       console.error('Error logging in', error);
-- 
cgit v1.2.3-59-g8ed1b