diff options
author | Jeff <jeffkleinaitis@gmail.com> | 2024-04-15 13:43:16 -0400 |
---|---|---|
committer | Jeff <jeffkleinaitis@gmail.com> | 2024-04-15 13:43:16 -0400 |
commit | ab0765b4ab3b0302e1d3415a65243e7ff8938631 (patch) | |
tree | ced4bffbe9cfc1d735999eeb30f2f498b4571cfb /src/pages/Login.js | |
parent | 18f3cb201b7754ca373610e110ee46c13acebf59 (diff) |
feat: Implement request to get user details upon successful login
Diffstat (limited to 'src/pages/Login.js')
-rw-r--r-- | src/pages/Login.js | 34 |
1 files changed, 29 insertions, 5 deletions
diff --git a/src/pages/Login.js b/src/pages/Login.js index 0197a0a..4f641fc 100644 --- a/src/pages/Login.js +++ b/src/pages/Login.js @@ -2,7 +2,9 @@ import React, {useContext, useState} from "react"; import FlexibleForm from "../components/FlexibleForm"; import benefitTwoImg from "../assets/img/benefit-two.png"; import { AuthContext } from '../providers/AuthContext'; +import {useNavigate} from "react-router-dom"; const Login = () => { + const navigate = useNavigate(); const { login } = useContext(AuthContext); const [formData, setFormData] = useState({ email: "", @@ -21,20 +23,42 @@ const Login = () => { event.preventDefault(); const { email, password } = formData; const basicAuth = btoa(`${email}:${password}`) - console.log(basicAuth) try { const response = await fetch(process.env.REACT_APP_LOGIN_ROUTE, { - method: "POST", + method: "GET", headers: { 'Content-Type': 'application/json', 'Authorization': `Basic ${basicAuth}`, }, }); if (response.ok) { - const userData = await response.json(); - login(userData); - console.log("Login successful", userData); + const token = await response.text(); + console.log(token) + const parts = token.split(".") + const decodedPart1 = atob(parts[1]); + const payload = JSON.parse(decodedPart1); + const userId = payload.sub; + console.log("test", userId); + + + const userDetailsResponse = await fetch(process.env.REACT_APP_REGISTER_ROUTE + '/' + userId , { + method: "GET", + headers: { + 'Authorization': `Bearer ${token}`, + }, + }); + + if (userDetailsResponse.ok) { + const userDetails = await userDetailsResponse.json(); + login(userDetails, token); + console.log(userDetails); + } else { + console.error("Failed to fetch details") + } + + console.log("Login successful", token) + } else { console.error("Login failed") } |