fix qr code auth
This commit is contained in:
@ -22,8 +22,19 @@ export default function useAuth() {
|
|||||||
|
|
||||||
// Прямой HTTP-запрос к вашему серверу
|
// Прямой HTTP-запрос к вашему серверу
|
||||||
const session = await authenticate(username, password);
|
const session = await authenticate(username, password);
|
||||||
|
await applySession(session, saveConfigFunc);
|
||||||
|
return session;
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Ошибка при аутентификации:', error);
|
||||||
|
setStatus('error');
|
||||||
|
throw error;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
// Сохраняем в конфигурацию
|
const applySession = async (
|
||||||
|
session: AuthSession,
|
||||||
|
saveConfigFunc: (config: any) => void,
|
||||||
|
) => {
|
||||||
saveConfigFunc({
|
saveConfigFunc({
|
||||||
username: session.selectedProfile.name,
|
username: session.selectedProfile.name,
|
||||||
uuid: session.selectedProfile.id,
|
uuid: session.selectedProfile.id,
|
||||||
@ -32,19 +43,10 @@ export default function useAuth() {
|
|||||||
memory: 4096,
|
memory: 4096,
|
||||||
});
|
});
|
||||||
|
|
||||||
// Уведомляем Electron (для запуска Minecraft)
|
|
||||||
await window.electron.ipcRenderer.invoke('auth-changed', {
|
await window.electron.ipcRenderer.invoke('auth-changed', {
|
||||||
isAuthed: true,
|
isAuthed: true,
|
||||||
minecraftSession: session, // Передаём всю сессию
|
minecraftSession: session,
|
||||||
});
|
});
|
||||||
|
|
||||||
setStatus('authenticating');
|
|
||||||
return session;
|
|
||||||
} catch (error) {
|
|
||||||
console.error('Ошибка при аутентификации:', error);
|
|
||||||
setStatus('error');
|
|
||||||
throw error;
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// Валидация токена (HTTP напрямую)
|
// Валидация токена (HTTP напрямую)
|
||||||
@ -95,5 +97,6 @@ export default function useAuth() {
|
|||||||
authenticateUser,
|
authenticateUser,
|
||||||
validateSession,
|
validateSession,
|
||||||
refreshSession,
|
refreshSession,
|
||||||
|
applySession,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -159,11 +159,13 @@ const Login = ({ onLoginSuccess }: LoginProps) => {
|
|||||||
if (res.status === 'ok') {
|
if (res.status === 'ok') {
|
||||||
stopQrPolling();
|
stopQrPolling();
|
||||||
|
|
||||||
saveConfig({
|
const session = {
|
||||||
accessToken: res.accessToken,
|
accessToken: res.accessToken,
|
||||||
clientToken: res.clientToken,
|
clientToken: res.clientToken,
|
||||||
username: res.selectedProfile?.name ?? config.username,
|
selectedProfile: res.selectedProfile,
|
||||||
});
|
};
|
||||||
|
|
||||||
|
await auth.applySession(session as any, saveConfig);
|
||||||
|
|
||||||
if (onLoginSuccess) {
|
if (onLoginSuccess) {
|
||||||
onLoginSuccess(res.selectedProfile?.name ?? config.username);
|
onLoginSuccess(res.selectedProfile?.name ?? config.username);
|
||||||
|
|||||||
Reference in New Issue
Block a user