feat: improve Minecraft version handling

This commit is contained in:
2025-07-13 23:37:46 +05:00
parent 815ce286f7
commit 942066ea76
9 changed files with 491 additions and 217 deletions

View File

@ -43,15 +43,37 @@ const AuthCheck = ({ children }: { children: ReactNode }) => {
const validateToken = async (token: string) => {
try {
const response = await fetch('https://authserver.ely.by/auth/validate', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({ accessToken: token }),
});
return response.ok;
// Используем IPC для валидации токена через main процесс
const result = await window.electron.ipcRenderer.invoke(
'validate-token',
token,
);
// Если токен недействителен, очищаем сохраненные данные в localStorage
if (!result.valid) {
console.log(
'Токен недействителен, очищаем данные авторизации из localStorage',
);
const savedConfig = localStorage.getItem('launcher_config');
if (savedConfig) {
const config = JSON.parse(savedConfig);
// Сохраняем только логин и другие настройки, но удаляем токены
const cleanedConfig = {
username: config.username,
memory: config.memory || 4096,
comfortVersion: config.comfortVersion || '',
password: '', // Очищаем пароль для безопасности
};
localStorage.setItem(
'launcher_config',
JSON.stringify(cleanedConfig),
);
}
}
return result.valid;
} catch (error) {
console.error('Ошибка проверки токена:', error);
return false;
}
};
@ -80,6 +102,7 @@ const App = () => {
flexDirection: 'column',
alignItems: 'center',
justifyContent: 'center',
overflowX: 'hidden',
}}
>
<MinecraftBackround />