#Problema de autenticacion
1 messages · Page 1 of 1 (latest)
const shippingHandling = async (e: React.FormEvent<HTMLFormElement>) => {
e.preventDefault();
try {
const response = await axios.post(${process.env.NEXT_PUBLIC_ROUTER}/auth/login, {
user_email: email,
password: password,
});
const rol = response.data.user.rol;
const token = response.data.access_token;
localStorage.setItem('rol', rol); // Guardar el rol en el localStorage
login(token);
if (rol === 'admin') {
router.push('/dashboard');
}
if (rol === 'user') {
router.push('/lawyer');
}
} catch (error) {
console.log(error, 'no tenemos nada');
}
}```
codigo formateado por favor
Tengo más dudas ahora xD
jajajajaj
el contexto useAuthContext que es lo que hace, porque cuando haces la peticion ya se supone que sabes el rol del usuario y tenes el token
no entiendo porque el login(token)
a ver es que yo no es que le sepa mucho a next o a cosas complejas
el login(token) es para enviarle el token al contexto pero que lo autentique
pero
si tenes el token
deberias primero logear, luego sacar la info y despues poner las rutas de ser necesario
tiene sentido la verdad, login debe guardar el token en el contexto xd
osea, el token es lo primero que debes obtener segun yo
el es compañero de trabajo y sabe lo que hace el codigo
gracias por la ayuda
bueno, asi nos ayuda a entender
los veo perdidos
cierto
si de hecho se guarda en el localstorange
aja, y cual era el problema con el rol del usuario?
segun entiendo su problema es que siendo usuario normal accede a rutas que no deberia
pero lo guarda encriptado
eso te iba a preguntar, el token entonces se guarda en local sin parsearlo supongo
Tengo entendido que no hay forma de frenar el acceso si la validación esta en el cliente xD
se supena que tiene dos roles y como en next las rutas se manejan por carpetas
tiene que independizar las rotas osea que si es tal rol solo acceda a estas rutas y viceversa
pero es que ese es el caso, segun veo la ruta no existe si el sistema no lo reconoce como admin
tiene sentido
usar una carpeta para las rutas publicas y una a parte para las del admin
exacto
pero igual persiste el caso
porque igual como usuario final tienes acceso a ambas supongo
yo digo que autentiquen por cada ruta que existe
y redirijan en caso de no ser admins
claro, eso si lo de las carpetas no funciona
de hecho las dos rutas seran privadas, si no te logueas no pasas
por eso se le asignara un rol a cada usuario
tienes algun codigo o video que me puedas pasar como ejemplo
eso es lo unico que no he podido hacer
dame unas horas y te atiendo con eso