fix: store refreshToken on login for proper auth flow
Some checks are pending
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run

This commit is contained in:
fullsizemalt 2025-12-12 14:35:54 -08:00
parent 71e58dd4c7
commit fddd43fa4f
2 changed files with 8 additions and 4 deletions

View file

@ -10,7 +10,7 @@ interface User {
interface AuthContextType { interface AuthContextType {
user: User | null; user: User | null;
login: (token: string, user: User) => void; login: (accessToken: string, refreshToken: string, user: User) => void;
logout: () => void; logout: () => void;
isLoading: boolean; isLoading: boolean;
} }
@ -37,13 +37,17 @@ export const AuthProvider = ({ children }: { children: React.ReactNode }) => {
} }
}, []); }, []);
const login = (token: string, newUser: User) => { const login = (accessToken: string, refreshToken: string, newUser: User) => {
localStorage.setItem('token', token); localStorage.setItem('token', accessToken);
localStorage.setItem('refreshToken', refreshToken);
localStorage.setItem('user', JSON.stringify(newUser));
setUser(newUser); setUser(newUser);
}; };
const logout = () => { const logout = () => {
localStorage.removeItem('token'); localStorage.removeItem('token');
localStorage.removeItem('refreshToken');
localStorage.removeItem('user');
setUser(null); setUser(null);
}; };

View file

@ -25,7 +25,7 @@ export default function LoginPage() {
try { try {
const { data } = await api.post('/auth/login', { email, password }); const { data } = await api.post('/auth/login', { email, password });
login(data.accessToken, data.user); login(data.accessToken, data.refreshToken, data.user);
navigate('/'); navigate('/');
} catch (err: any) { } catch (err: any) {
setError(err.response?.data?.message || 'Login failed'); setError(err.response?.data?.message || 'Login failed');