mirror of
https://github.com/moku-project/Moku.git
synced 2026-06-13 01:09:56 -05:00
Fix: Attempt to Patch UI Login (Not-Working)
This commit is contained in:
+9
-3
@@ -207,7 +207,7 @@ export const uiAuth = {
|
|||||||
sessionStorage.setItem(UI_SESSION_KEY, JSON.stringify(_uiSession));
|
sessionStorage.setItem(UI_SESSION_KEY, JSON.stringify(_uiSession));
|
||||||
sessionStorage.removeItem(TOKEN_KEY);
|
sessionStorage.removeItem(TOKEN_KEY);
|
||||||
},
|
},
|
||||||
getToken: () => {
|
getToken: () => {
|
||||||
const session = uiAuth.getSession();
|
const session = uiAuth.getSession();
|
||||||
if (!session) return null;
|
if (!session) return null;
|
||||||
|
|
||||||
@@ -229,7 +229,7 @@ export const uiAuth = {
|
|||||||
_accessTokenBase = stored.base;
|
_accessTokenBase = stored.base;
|
||||||
return _accessToken;
|
return _accessToken;
|
||||||
},
|
},
|
||||||
setToken: (t: string) => {
|
setToken: (t: string) => {
|
||||||
const existing = uiAuth.getSession();
|
const existing = uiAuth.getSession();
|
||||||
if (existing?.refreshToken) {
|
if (existing?.refreshToken) {
|
||||||
uiAuth.setSession({
|
uiAuth.setSession({
|
||||||
@@ -276,7 +276,13 @@ export const uiAuth = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const authSession = {
|
export const authSession = {
|
||||||
clearTokens() { uiAuth.clearToken(); },
|
clearTokens() {
|
||||||
|
_refreshPromise = null;
|
||||||
|
_jwtSettings = null;
|
||||||
|
_jwtSettingsBase = null;
|
||||||
|
_jwtSettingsFetchedAt = 0;
|
||||||
|
uiAuth.clearToken();
|
||||||
|
},
|
||||||
hasSession(): boolean {
|
hasSession(): boolean {
|
||||||
const mode = store.settings.serverAuthMode ?? "NONE";
|
const mode = store.settings.serverAuthMode ?? "NONE";
|
||||||
if (mode === "UI_LOGIN") return uiAuth.getSession() !== null;
|
if (mode === "UI_LOGIN") return uiAuth.getSession() !== null;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { store, updateSettings } from "@store/state.svelte";
|
import { store, updateSettings } from "@store/state.svelte";
|
||||||
import { gql } from "@api/client";
|
import { gql } from "@api/client";
|
||||||
import { authSession, loginUI } from "@core/auth";
|
import { authSession, loginUI, logout } from "@core/auth";
|
||||||
import { GET_SERVER_SECURITY } from "@api/queries/extensions";
|
import { GET_SERVER_SECURITY } from "@api/queries/extensions";
|
||||||
import { SET_SERVER_AUTH, SET_SOCKS_PROXY, SET_FLARESOLVERR } from "@api/mutations/extensions";
|
import { SET_SERVER_AUTH, SET_SOCKS_PROXY, SET_FLARESOLVERR } from "@api/mutations/extensions";
|
||||||
|
|
||||||
@@ -44,39 +44,40 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
$effect(() => {
|
$effect(() => {
|
||||||
if (!secLoaded) { secLoaded = true; loadServerSecurity(); }
|
if (!secLoaded) { secLoaded = true; authSession.clearTokens(); loadServerSecurity(); }
|
||||||
});
|
});
|
||||||
|
|
||||||
async function loadServerSecurity() {
|
async function loadServerSecurity() {
|
||||||
try {
|
try {
|
||||||
const res = await gql<{ settings: {
|
const res = await gql<{ settings: {
|
||||||
authMode: string; authUsername: string;
|
authMode: string; authUsername: string;
|
||||||
socksProxyEnabled: boolean; socksProxyHost: string; socksProxyPort: string;
|
socksProxyEnabled: boolean; socksProxyHost: string; socksProxyPort: string;
|
||||||
socksProxyVersion: number; socksProxyUsername: string;
|
socksProxyVersion: number; socksProxyUsername: string;
|
||||||
flareSolverrEnabled: boolean; flareSolverrUrl: string; flareSolverrTimeout: number;
|
flareSolverrEnabled: boolean; flareSolverrUrl: string; flareSolverrTimeout: number;
|
||||||
flareSolverrSessionName: string; flareSolverrSessionTtl: number;
|
flareSolverrSessionName: string; flareSolverrSessionTtl: number;
|
||||||
flareSolverrAsResponseFallback: boolean;
|
flareSolverrAsResponseFallback: boolean;
|
||||||
}}>(GET_SERVER_SECURITY);
|
}}>(GET_SERVER_SECURITY);
|
||||||
const s = res.settings;
|
const s = res.settings;
|
||||||
const serverMode = normalizeAuthMode(s.authMode);
|
const serverMode = normalizeAuthMode(s.authMode);
|
||||||
authMode = serverMode;
|
if (serverMode !== "UI_LOGIN") authSession.clearTokens();
|
||||||
authUsername = s.authUsername || "";
|
authMode = serverMode;
|
||||||
updateSettings({ serverAuthMode: serverMode, serverAuthUser: authUsername });
|
authUsername = s.authUsername || "";
|
||||||
socksEnabled = s.socksProxyEnabled; socksHost = s.socksProxyHost;
|
updateSettings({ serverAuthMode: serverMode, serverAuthUser: authUsername });
|
||||||
socksPort = s.socksProxyPort; socksVersion = s.socksProxyVersion;
|
socksEnabled = s.socksProxyEnabled; socksHost = s.socksProxyHost;
|
||||||
socksUsername = s.socksProxyUsername;
|
socksPort = s.socksProxyPort; socksVersion = s.socksProxyVersion;
|
||||||
flareEnabled = s.flareSolverrEnabled; flareUrl = s.flareSolverrUrl;
|
socksUsername = s.socksProxyUsername;
|
||||||
flareTimeout = s.flareSolverrTimeout; flareSession = s.flareSolverrSessionName;
|
flareEnabled = s.flareSolverrEnabled; flareUrl = s.flareSolverrUrl;
|
||||||
flareTtl = s.flareSolverrSessionTtl; flareFallback = s.flareSolverrAsResponseFallback;
|
flareTimeout = s.flareSolverrTimeout; flareSession = s.flareSolverrSessionName;
|
||||||
updateSettings({
|
flareTtl = s.flareSolverrSessionTtl; flareFallback = s.flareSolverrAsResponseFallback;
|
||||||
socksProxyEnabled: socksEnabled, socksProxyHost: socksHost, socksProxyPort: socksPort,
|
updateSettings({
|
||||||
socksProxyVersion: socksVersion, socksProxyUsername: socksUsername,
|
socksProxyEnabled: socksEnabled, socksProxyHost: socksHost, socksProxyPort: socksPort,
|
||||||
flareSolverrEnabled: flareEnabled, flareSolverrUrl: flareUrl,
|
socksProxyVersion: socksVersion, socksProxyUsername: socksUsername,
|
||||||
flareSolverrTimeout: flareTimeout, flareSolverrSessionName: flareSession,
|
flareSolverrEnabled: flareEnabled, flareSolverrUrl: flareUrl,
|
||||||
flareSolverrSessionTtl: flareTtl, flareSolverrAsResponseFallback: flareFallback,
|
flareSolverrTimeout: flareTimeout, flareSolverrSessionName: flareSession,
|
||||||
});
|
flareSolverrSessionTtl: flareTtl, flareSolverrAsResponseFallback: flareFallback,
|
||||||
} catch {}
|
});
|
||||||
}
|
} catch {}
|
||||||
|
}
|
||||||
|
|
||||||
async function saveAuth() {
|
async function saveAuth() {
|
||||||
if (authMode === "NONE") { await clearAuth(); return; }
|
if (authMode === "NONE") { await clearAuth(); return; }
|
||||||
@@ -89,11 +90,11 @@
|
|||||||
try {
|
try {
|
||||||
const newUser = authUsername.trim();
|
const newUser = authUsername.trim();
|
||||||
const newPass = authPassword.trim();
|
const newPass = authPassword.trim();
|
||||||
|
authSession.clearTokens();
|
||||||
if (authMode === "UI_LOGIN") {
|
if (authMode === "UI_LOGIN") {
|
||||||
await loginUI(newUser, newPass);
|
await loginUI(newUser, newPass);
|
||||||
updateSettings({ serverAuthMode: "UI_LOGIN", serverAuthUser: newUser, serverAuthPass: "" });
|
updateSettings({ serverAuthMode: "UI_LOGIN", serverAuthUser: newUser, serverAuthPass: "" });
|
||||||
} else {
|
} else {
|
||||||
authSession.clearTokens();
|
|
||||||
updateSettings({ serverAuthMode: "BASIC_AUTH", serverAuthUser: newUser, serverAuthPass: newPass });
|
updateSettings({ serverAuthMode: "BASIC_AUTH", serverAuthUser: newUser, serverAuthPass: newPass });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user