fix(desktop): persist session token after 2fa
This commit is contained in:
parent
69bed891a3
commit
43b5052b06
|
|
@ -204,6 +204,14 @@ export class AuthService extends IpcService {
|
|||
})
|
||||
}
|
||||
|
||||
const sessionToken =
|
||||
data.session && typeof data.session === "object" && "token" in data.session
|
||||
? (data.session as { token?: unknown }).token
|
||||
: null
|
||||
if (typeof sessionToken === "string") {
|
||||
data.sessionToken = sessionToken
|
||||
}
|
||||
|
||||
return {
|
||||
data,
|
||||
error: response.ok
|
||||
|
|
|
|||
|
|
@ -45,16 +45,35 @@ const getAuthTokenFromResult = (result: unknown) => {
|
|||
return result.sessionToken
|
||||
}
|
||||
|
||||
if ("session" in result && result.session && typeof result.session === "object") {
|
||||
const { token } = result.session as { token?: unknown }
|
||||
if (typeof token === "string") {
|
||||
return token
|
||||
}
|
||||
}
|
||||
|
||||
if (
|
||||
"data" in result &&
|
||||
result.data &&
|
||||
typeof result.data === "object" &&
|
||||
("sessionToken" in result.data || "token" in result.data)
|
||||
("sessionToken" in result.data || "token" in result.data || "session" in result.data)
|
||||
) {
|
||||
const { sessionToken, token } = result.data as { sessionToken?: unknown; token?: unknown }
|
||||
const { sessionToken, token, session } = result.data as {
|
||||
sessionToken?: unknown
|
||||
token?: unknown
|
||||
session?: { token?: unknown } | unknown
|
||||
}
|
||||
if (typeof token === "string") {
|
||||
return token
|
||||
}
|
||||
if (
|
||||
session &&
|
||||
typeof session === "object" &&
|
||||
"token" in session &&
|
||||
typeof session.token === "string"
|
||||
) {
|
||||
return session.token
|
||||
}
|
||||
return typeof sessionToken === "string" ? sessionToken : null
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue