diff --git a/public/index.html b/public/index.html
index 0cf2d17..468eb3f 100644
--- a/public/index.html
+++ b/public/index.html
@@ -151,7 +151,7 @@
@@ -163,10 +163,14 @@ Eagles E-commerce Chat Room
+
@@ -182,8 +186,13 @@ Eagles E-commerce Chat Room
const chatRoomSection = document.getElementById("chatRoom");
const verifyToken = document.getElementById("TokenVerfication");
const verifyTokenForm = document.getElementById("verifyToken");
-
- const url = "https://eagles-ec-be-development.onrender.com/api/v1/users/login";
+ const port = window.location.port
+
+
+ const isProduction = window.location.hostname === "https://eagles-ec-be-development.onrender.com"
+ const url = isProduction ? "https://eagles-ec-be-development.onrender.com/api/v1/users/login":`http://localhost:${port}/api/v1/users/login`;
+ const twoFactorAuthUrl = isProduction? "https://eagles-ec-be-development.onrender.com/api/v1/users/2fa-verify": `http://localhost:${port}/api/v1/users/2fa-verify`
+
const loginUser = async (email, password) => {
try {
const response = await fetch(url, {
@@ -197,13 +206,17 @@ Eagles E-commerce Chat Room
throw new Error("Login failed");
}
const data = await response.json();
- localStorage.setItem("loginToken", JSON.stringify(data.token));
- const decodedToken = JSON.parse(atob(token.split(".")[1]));
- if(decodedToken.otp){
+
+ if (data.status === "Pending"){
+ localStorage.setItem("Token-otp_Verify", JSON.stringify(data.token));
showTokenVerfication();
- }else{
- showChatRoom();
}
+ if(data.status === 200){
+ localStorage.setItem("loginToken", JSON.stringify(data.token));
+ showChatRoom();
+ }
+
+
} catch (error) {
console.error(error.message);
}
@@ -213,15 +226,38 @@ Eagles E-commerce Chat Room
e.preventDefault();
const email = document.getElementById("email").value;
const password = document.getElementById("password").value;
- await loginUser(email, password);
+ const response = await loginUser(email, password);
+ const data = await response.json();
localStorage.setItem("loginToken", JSON.stringify(data.token));
});
verifyTokenForm.addEventListener("submit", async(e) =>{
e.preventDefault();
- const verifyToken = document.getElementById("tokenVer").value;
- localStorage.setItem("loginToken", JSON.stringify(verifyToken));
+ const otp = parseInt(document.getElementById("tokenVer").value);
+
+ let pre_token = localStorage.getItem("Token-otp_Verify")
+ pre_token = pre_token.replace(/"/g, '');
+ // fixing verification token to the url params
+ const url = new URL(twoFactorAuthUrl)
+ const params = new URLSearchParams();
+ params.append("token", pre_token);
+ url.search = params.toString();
+ const adjustedUrl = url.toString()
+
+
+ const response = await fetch(adjustedUrl, {
+ method: "POST",
+ headers: {
+ "Content-Type": "application/json",
+ },
+ body: JSON.stringify({ otp, pre_token }),
+ })
+
+ const data = await response.json();
+
+ localStorage.setItem("loginToken", JSON.stringify(data.token));
+ verifyToken.style.display = "none";
showChatRoom();
})
@@ -244,13 +280,14 @@ Eagles E-commerce Chat Room
const active = document.getElementById("active-list");
const token = localStorage.getItem("loginToken");
const decodedToken = JSON.parse(atob(token.split(".")[1]));
+
let userId;
if (token) {
try {
const { id, name } = decodedToken;
userNameInput.value = name;
userId = id;
- console.log(decodedToken);
+
} catch (error) {
console.error("Error parsing token:", error.message);
}
@@ -304,5 +341,13 @@ Eagles E-commerce Chat Room
+
+
+
+