fix: Electron desktop not logging in

This commit is contained in:
LukeGus
2025-11-01 15:58:04 -05:00
parent d8b697ab5d
commit 00e19f054f
5 changed files with 144 additions and 38 deletions

View File

@@ -1695,10 +1695,34 @@ export async function loginUser(
try {
const response = await authApi.post("/users/login", { username, password });
if (isElectron() && response.data.token) {
const hasToken = response.data.token;
if (isElectron() && hasToken) {
localStorage.setItem("jwt", response.data.token);
}
const isInIframe =
typeof window !== "undefined" && window.self !== window.top;
if (isInIframe && hasToken) {
localStorage.setItem("jwt", response.data.token);
try {
window.parent.postMessage(
{
type: "AUTH_SUCCESS",
token: response.data.token,
source: "login_api",
platform: "desktop",
timestamp: Date.now(),
},
"*",
);
} catch (e) {
console.error("[main-axios] Error posting message to parent:", e);
}
}
return {
token: response.data.token || "cookie-based",
success: response.data.success,
@@ -2027,6 +2051,35 @@ export async function verifyTOTPLogin(
temp_token,
totp_code,
});
const hasToken = response.data.token;
if (isElectron() && hasToken) {
localStorage.setItem("jwt", response.data.token);
}
const isInIframe =
typeof window !== "undefined" && window.self !== window.top;
if (isInIframe && hasToken) {
localStorage.setItem("jwt", response.data.token);
try {
window.parent.postMessage(
{
type: "AUTH_SUCCESS",
token: response.data.token,
source: "totp_verify",
platform: "desktop",
timestamp: Date.now(),
},
"*",
);
} catch (e) {
console.error("[main-axios] Error posting message to parent:", e);
}
}
return response.data;
} catch (error) {
handleApiError(error as AxiosError, "verify TOTP login");