Fixed some Query bugs
This commit is contained in:
parent
177382d9c3
commit
f55cc48656
@ -1,7 +1,8 @@
|
|||||||
import type { Cookies } from "@sveltejs/kit";
|
import type { Cookies } from "@sveltejs/kit";
|
||||||
import { SessionApp, type Session } from "./sessions";
|
import { SessionApp, type Session } from "./sessions";
|
||||||
import { UserApp, type User } from "./users";
|
import { UserApp, type User } from "./users";
|
||||||
import { JoseSingleton } from "$lib/utils/jtw-utils";
|
import { JoseApp } from "$lib/utils/jtw-utils";
|
||||||
|
import { logger } from "$lib/utils/logger";
|
||||||
|
|
||||||
export class AppData {
|
export class AppData {
|
||||||
|
|
||||||
@ -19,7 +20,7 @@ export class AppData {
|
|||||||
|
|
||||||
public async toCookie() {
|
public async toCookie() {
|
||||||
|
|
||||||
const signedSession = await JoseSingleton.signObject(this.session)
|
const signedSession = await JoseApp.signObject({token: this.session.sessionToken})
|
||||||
const encodedSession = btoa(signedSession)
|
const encodedSession = btoa(signedSession)
|
||||||
|
|
||||||
return encodedSession
|
return encodedSession
|
||||||
@ -29,13 +30,19 @@ export class AppData {
|
|||||||
|
|
||||||
const encodedSessionToken = cookies.get("session")
|
const encodedSessionToken = cookies.get("session")
|
||||||
|
|
||||||
|
logger.debug(`Session Cookie: ${encodedSessionToken}`, "APP Session Building 1")
|
||||||
|
|
||||||
if (!encodedSessionToken) {
|
if (!encodedSessionToken) {
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
const decodedSessionToken = atob(encodedSessionToken)
|
const decodedSessionToken = atob(encodedSessionToken)
|
||||||
|
|
||||||
const sessionToken = await JoseSingleton.verifyObject(decodedSessionToken)
|
logger.debug(`Session Cookie: ${decodedSessionToken}`, "APP Session Building 2")
|
||||||
|
|
||||||
|
const sessionToken = (await JoseApp.verifyObject(decodedSessionToken)).token
|
||||||
|
|
||||||
|
logger.debug(`Session Token: ${sessionToken}`, "APP Session Building 3")
|
||||||
|
|
||||||
const session = SessionApp.getSessionFromToken(sessionToken)
|
const session = SessionApp.getSessionFromToken(sessionToken)
|
||||||
|
|
||||||
|
|||||||
@ -8,15 +8,15 @@ CREATE TABLE IF NOT EXISTS sessions (
|
|||||||
INSERT INTO sessions (user_id, session_token)
|
INSERT INTO sessions (user_id, session_token)
|
||||||
VALUES (@userID, @token);
|
VALUES (@userID, @token);
|
||||||
|
|
||||||
SELECT session_id, user_id, session_token,
|
SELECT session_id, user_id, session_token
|
||||||
FROM sessions
|
FROM sessions
|
||||||
WHERE session_token = @token;
|
WHERE session_token = @token;
|
||||||
|
|
||||||
SELECT session_id, user_id, session_token,
|
SELECT session_id, user_id, session_token
|
||||||
FROM sessions
|
FROM sessions
|
||||||
WHERE session_id = @userID;
|
WHERE user_id = @userID;
|
||||||
|
|
||||||
SELECT session_id, user_id, session_token,
|
SELECT session_id, user_id, session_token
|
||||||
FROM sessions
|
FROM sessions
|
||||||
WHERE session_id = @sessionID;
|
WHERE session_id = @sessionID;
|
||||||
|
|
||||||
|
|||||||
@ -86,6 +86,8 @@ export class SessionDBBroker implements ISessionBroker {
|
|||||||
// Check if Session has been successfully created
|
// Check if Session has been successfully created
|
||||||
const session = this.getSessionFromUserID(userID)
|
const session = this.getSessionFromUserID(userID)
|
||||||
|
|
||||||
|
logger.debug(`session: ${session}`, "DB Session Create")
|
||||||
|
|
||||||
if (!session) {
|
if (!session) {
|
||||||
// UGLY: more specific
|
// UGLY: more specific
|
||||||
throw new Error("Something wrong happened during the creationg of the session")
|
throw new Error("Something wrong happened during the creationg of the session")
|
||||||
@ -126,9 +128,10 @@ export class SessionDBBroker implements ISessionBroker {
|
|||||||
|
|
||||||
private getSessionDBFromToken(token: string): SessionDB | null {
|
private getSessionDBFromToken(token: string): SessionDB | null {
|
||||||
|
|
||||||
|
logger.debug(`token: ${token}`, "DB Session from Token")
|
||||||
const stmt = SSLSnifferApp.prepare(
|
const stmt = SSLSnifferApp.prepare(
|
||||||
`
|
`
|
||||||
SELECT session_id, user_id, session_token,
|
SELECT session_id, user_id, session_token
|
||||||
FROM sessions
|
FROM sessions
|
||||||
WHERE session_token = @token;
|
WHERE session_token = @token;
|
||||||
`
|
`
|
||||||
@ -146,9 +149,9 @@ export class SessionDBBroker implements ISessionBroker {
|
|||||||
private getSessionDBFromUserID(userID: number): SessionDB | null {
|
private getSessionDBFromUserID(userID: number): SessionDB | null {
|
||||||
const stmt = SSLSnifferApp.prepare(
|
const stmt = SSLSnifferApp.prepare(
|
||||||
`
|
`
|
||||||
SELECT session_id, user_id, session_token,
|
SELECT session_id, user_id, session_token
|
||||||
FROM sessions
|
FROM sessions
|
||||||
WHERE session_id = @userID;
|
WHERE user_id = @userID;
|
||||||
`
|
`
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -164,7 +167,7 @@ export class SessionDBBroker implements ISessionBroker {
|
|||||||
|
|
||||||
const stmt = SSLSnifferApp.prepare(
|
const stmt = SSLSnifferApp.prepare(
|
||||||
`
|
`
|
||||||
SELECT session_id, user_id, session_token,
|
SELECT session_id, user_id, session_token
|
||||||
FROM sessions
|
FROM sessions
|
||||||
WHERE session_id = @sessionID;
|
WHERE session_id = @sessionID;
|
||||||
`
|
`
|
||||||
|
|||||||
@ -178,7 +178,7 @@ export class UserDBBroker implements IUserBroker {
|
|||||||
SELECT user_id, username, password_hash
|
SELECT user_id, username, password_hash
|
||||||
FROM users
|
FROM users
|
||||||
WHERE username = @username;
|
WHERE username = @username;
|
||||||
`
|
`
|
||||||
)
|
)
|
||||||
|
|
||||||
const user: any | null = stmt.get({
|
const user: any | null = stmt.get({
|
||||||
|
|||||||
@ -24,6 +24,9 @@ export class SSLSnifferApp {
|
|||||||
|
|
||||||
|
|
||||||
public static prepare(query: string) {
|
public static prepare(query: string) {
|
||||||
|
|
||||||
|
logger.debug(`Statement: ${query}`, "SQLite Query Preparation")
|
||||||
|
|
||||||
return SSLSnifferApp.db.prepare(query)
|
return SSLSnifferApp.db.prepare(query)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user