feat: account created page redirect button added, navigate logic created, refresh token bug fix

This commit is contained in:
مهرزاد قدرتی
2025-08-19 16:46:58 +03:30
parent c8ffd34f15
commit 6ff25c69f2
12 changed files with 430 additions and 36 deletions

View File

@@ -114,31 +114,43 @@ export const AuthProvider = ({ children }: { children: ReactNode }) => {
}
try {
const result = await axios.post<GenerateTokenResponse>(
import.meta.env.VITE_IDENTITY_URL,
new URLSearchParams({
grant_type: 'refresh_token',
refresh_token: refreshToken,
client_id: import.meta.env.VITE_IDENTITY_CLIENT_ID, // from your token payload
}),
{
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
const activeRefreshSession: string | null =
sessionStorage.getItem('active-refresh');
if (
!activeRefreshSession ||
(activeRefreshSession && JSON.parse(activeRefreshSession) === false)
) {
sessionStorage.setItem('active-refresh', JSON.stringify(true));
const result = await axios.post<GenerateTokenResponse>(
import.meta.env.VITE_IDENTITY_URL,
new URLSearchParams({
grant_type: 'refresh_token',
refresh_token: refreshToken,
client_id: import.meta.env.VITE_IDENTITY_CLIENT_ID, // from your token payload
}),
{
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
},
},
);
);
if (result.data.access_token) {
inMemoryToken = result.data.access_token;
expiresAt = Date.now() + result.data.expires_in * 1000;
if (result.data.access_token) {
inMemoryToken = result.data.access_token;
expiresAt = Date.now() + result.data.expires_in * 1000;
sessionStorage.setItem(ACCESS_TOKEN_KEY, inMemoryToken as string);
sessionStorage.setItem(REFRESH_TOKEN_KEY, result.data.refresh_token);
sessionStorage.setItem(EXPIRES_IN_KEY, String(expiresAt));
sessionStorage.setItem(ACCESS_TOKEN_KEY, inMemoryToken as string);
sessionStorage.setItem(REFRESH_TOKEN_KEY, result.data.refresh_token);
sessionStorage.setItem(EXPIRES_IN_KEY, String(expiresAt));
setAccessToken(inMemoryToken);
} else {
logout();
setAccessToken(inMemoryToken);
} else {
logout();
}
sessionStorage.setItem('active-refresh', JSON.stringify(false));
}
} catch {
logout();