Refactor login method to use unified identifier for user input; update request body to support both email and username

This commit is contained in:
javiermengual 2026-01-16 19:08:47 +01:00
parent 7a36a0d4f0
commit 3c901a35a6
1 changed files with 9 additions and 4 deletions

View File

@ -4,14 +4,19 @@ export class Auth {
this.isAuthenticated = false; this.isAuthenticated = false;
} }
async login(email, password) { async login(identifier, password) {
if (!email || !password) return false; if (!identifier || !password) return false;
try { try {
const response = await fetch(`${import.meta.env.VITE_API_BASE_URL}/api/Auth/login`, { const response = await fetch(`${import.meta.env.VITE_API_BASE_URL}/api/Auth/login`, {
method: 'POST', method: 'POST',
headers: { 'Content-Type': 'application/json' }, headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ email, password }) // Enviamos ambos nombres de campo para cubrir email o userName según espere el backend.
body: JSON.stringify({
email: identifier,
userName: identifier,
password
})
}); });
if (!response.ok) return false; if (!response.ok) return false;
@ -19,7 +24,7 @@ export class Auth {
const { token, user } = await response.json(); const { token, user } = await response.json();
if (!token) return false; if (!token) return false;
this.currentUser = user || { email }; this.currentUser = user || { email: identifier };
this.isAuthenticated = true; this.isAuthenticated = true;
localStorage.setItem('user', JSON.stringify(this.currentUser)); localStorage.setItem('user', JSON.stringify(this.currentUser));
localStorage.setItem('token', token); localStorage.setItem('token', token);