Loading dans le login et correction de fuck de login dans l'API

This commit is contained in:
MarcEricMartel 2022-11-06 08:17:01 -08:00
parent f197c05b0c
commit 43cd2bd7c2
5 changed files with 22 additions and 11 deletions

View File

@ -46,6 +46,8 @@ public class LoginController : Controller {
public SignInResult Login(LoginModel user, bool rememberMe = false) {
var User = _userMan.FindByEmailAsync(user.email.ToUpper());
User.Wait();
if (User.Result is null)
return new SignInResult();
var res = _signInMan.PasswordSignInAsync(User.Result, user.password, rememberMe, false);
res.Wait();
return res.Result;

View File

@ -23,9 +23,9 @@ const App = () => {
const response = await fetch(`https://localhost:7292/api/WhoAmI`, { credentials: 'include' });
if (response.status === 200) {
var user = await response.json();
setCookie('GMGM', {...user, LoggedIn:true}, { path: '/', sameSite:'strict' })
setCookie('GMGM', {...user, LoggedIn:true}, { path: '/', SameSite:'strict' })
}
else setCookie('GMGM', {LoggedIn:false}, { path: '/', sameSite:'strict' })
else setCookie('GMGM', {LoggedIn:false}, { path: '/', SameSite:'strict' })
}
if (cookies.GMGM === null) {
FetchUser();

View File

@ -14,14 +14,14 @@ const Topbar = () => {
setLogin(cookies.GMGM ?? null);
});
function logOut() {
async function logOut() {
const response = fetch(`https://localhost:7292/api/Logout`, {
method: 'POST',
credentials: 'include'
})
removeCookie("GMGM");
setLogin(null); // Y U NO WORK?!?
await removeCookie("GMGM");
await setLogin(null); // Y U NO WORK?!?
}
return (

View File

@ -9,10 +9,12 @@ const Login = () => {
const [email, setEmail] = useState("");
const [password, setPassword] = useState("");
const [returnmess, returnMessage] = useState("");
const [isLoading, setLoading] = useState(false);
const navigate = useNavigate();
const handleLogin = async (e) => {
setLoading(true);
e.preventDefault();
const response = await fetch(`https://localhost:7292/api/Login?rememberMe=${rememberme}`, {
@ -37,21 +39,24 @@ const Login = () => {
}
});
const user = await confirm.json();
setCookie('GMGM', {...user, LoggedIn:true}, { path: '/', sameSite:'strict' })
setCookie('GMGM', {...user, LoggedIn:true}, { path: '/', SameSite:'strict' })
navigate("/");
}
else {
returnMessage("L'adresse courriel ou le mot de passe est incorrect.");
setCookie('GMGM', {LoggedIn:false}, { path: '/', sameSite:'strict' })
setCookie('GMGM', {LoggedIn:false}, { path: '/', SameSite:'strict' })
}
}
else {
returnMessage("Erreur d'API, veuillez réessayer plus tard.")
setCookie('GMGM', {LoggedIn:false}, { path: '/', sameSite:'strict' })
setCookie('GMGM', {LoggedIn:false}, { path: '/', SameSite:'strict' })
}
setPassword("");
setLoading(false);
}
if (isLoading) return (<div className="cat-load"/>)
return (
<div className="inventaire-form-container">

View File

@ -1,22 +1,26 @@
import { useCookies } from "react-cookie";
import { useNavigate } from "react-router-dom";
import { useEffect } from "react";
import { useEffect, useState } from "react";
const Logout = () => {
const navigate = useNavigate();
const [cookies, setCookie, removeCookie] = useCookies(['name']);
const response = fetch(`https://localhost:7292/api/Logout`, {
method: 'POST',
credentials: 'include'
})
removeCookie("GMGM");
async function clear() {
await removeCookie("GMGM");
}
useEffect(()=>{
clear();
navigate("/");
});
return (
<div className="inventaire-form-container">
<h3 className="text-center">Vous n'êtes plus connecté!</h3>