fix: store refreshToken on login for proper auth flow
This commit is contained in:
parent
71e58dd4c7
commit
fddd43fa4f
2 changed files with 8 additions and 4 deletions
|
|
@ -10,7 +10,7 @@ interface User {
|
|||
|
||||
interface AuthContextType {
|
||||
user: User | null;
|
||||
login: (token: string, user: User) => void;
|
||||
login: (accessToken: string, refreshToken: string, user: User) => void;
|
||||
logout: () => void;
|
||||
isLoading: boolean;
|
||||
}
|
||||
|
|
@ -37,13 +37,17 @@ export const AuthProvider = ({ children }: { children: React.ReactNode }) => {
|
|||
}
|
||||
}, []);
|
||||
|
||||
const login = (token: string, newUser: User) => {
|
||||
localStorage.setItem('token', token);
|
||||
const login = (accessToken: string, refreshToken: string, newUser: User) => {
|
||||
localStorage.setItem('token', accessToken);
|
||||
localStorage.setItem('refreshToken', refreshToken);
|
||||
localStorage.setItem('user', JSON.stringify(newUser));
|
||||
setUser(newUser);
|
||||
};
|
||||
|
||||
const logout = () => {
|
||||
localStorage.removeItem('token');
|
||||
localStorage.removeItem('refreshToken');
|
||||
localStorage.removeItem('user');
|
||||
setUser(null);
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ export default function LoginPage() {
|
|||
|
||||
try {
|
||||
const { data } = await api.post('/auth/login', { email, password });
|
||||
login(data.accessToken, data.user);
|
||||
login(data.accessToken, data.refreshToken, data.user);
|
||||
navigate('/');
|
||||
} catch (err: any) {
|
||||
setError(err.response?.data?.message || 'Login failed');
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue