feat: add loginWithTokens method to auth context for OAuth flow

This commit is contained in:
2026-04-03 13:15:38 +08:00
parent 2d07ac6cd4
commit 7f44bc8e32

View File

@@ -10,6 +10,7 @@ type AuthContextType = {
register: (email: string, password: string, name: string) => Promise<void>;
logout: () => void;
updateUser: (updates: Partial<User>) => void;
loginWithTokens: (accessToken: string, refreshToken: string) => Promise<void>;
};
const AuthContext = createContext<AuthContextType | null>(null);
@@ -53,8 +54,14 @@ export function AuthProvider({ children }: { children: ReactNode }) {
setUser(prev => prev ? { ...prev, ...updates } : null);
};
const loginWithTokens = async (access: string, refresh: string) => {
setTokens(access, refresh);
const user = await apiFetch<User>('/auth/me');
setUser(user);
};
return (
<AuthContext.Provider value={{ user, loading, login, register, logout, updateUser }}>
<AuthContext.Provider value={{ user, loading, login, register, logout, updateUser, loginWithTokens }}>
{children}
</AuthContext.Provider>
);