eli02 commited on
Commit
9f5c199
·
1 Parent(s): 6cade91

refactor: Move auto-refresh token logic to a more appropriate location in useAuth hook

Browse files
Files changed (1) hide show
  1. src/hooks/useAuth.js +15 -15
src/hooks/useAuth.js CHANGED
@@ -12,21 +12,6 @@ export const AuthProvider = ({ children }) => {
12
  const [isRefreshing, setIsRefreshing] = useState(false);
13
  const navigate = useNavigate();
14
 
15
- // Auto-refresh token when it's about to expire
16
- useEffect(() => {
17
- const refreshInterval = setInterval(() => {
18
- if (authTokens?.access) {
19
- const { exp } = parseJwt(authTokens.access);
20
- // Refresh token if it expires in less than 5 minutes
21
- if (exp * 1000 - Date.now() < 300000) {
22
- refreshToken();
23
- }
24
- }
25
- }, 60000); // Check every minute
26
-
27
- return () => clearInterval(refreshInterval);
28
- }, [authTokens]);
29
-
30
  const parseJwt = (token) => {
31
  try {
32
  return JSON.parse(atob(token.split('.')[1]));
@@ -87,6 +72,21 @@ export const AuthProvider = ({ children }) => {
87
  }
88
  }, [authTokens, isRefreshing, setAuthTokens, logout]);
89
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
90
  const getAccessToken = useCallback(async () => {
91
  if (!authTokens?.access) return null;
92
 
 
12
  const [isRefreshing, setIsRefreshing] = useState(false);
13
  const navigate = useNavigate();
14
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
  const parseJwt = (token) => {
16
  try {
17
  return JSON.parse(atob(token.split('.')[1]));
 
72
  }
73
  }, [authTokens, isRefreshing, setAuthTokens, logout]);
74
 
75
+ // Auto-refresh token when it's about to expire
76
+ useEffect(() => {
77
+ const refreshInterval = setInterval(() => {
78
+ if (authTokens?.access) {
79
+ const { exp } = parseJwt(authTokens.access);
80
+ // Refresh token if it expires in less than 5 minutes
81
+ if (exp * 1000 - Date.now() < 300000) {
82
+ refreshToken();
83
+ }
84
+ }
85
+ }, 60000); // Check every minute
86
+
87
+ return () => clearInterval(refreshInterval);
88
+ }, [authTokens, refreshToken]);
89
+
90
  const getAccessToken = useCallback(async () => {
91
  if (!authTokens?.access) return null;
92