mirror of
https://github.com/kmc7468/arkvault.git
synced 2026-02-04 16:16:55 +00:00
이미 클라이언트가 로그인된 상태에서 세션을 업그레이드하려는 경우 발생하던 500 오류 수정
This commit is contained in:
@@ -51,14 +51,7 @@ export const login = async (email: string, password: string, ip: string, userAge
|
||||
error(401, "Invalid email or password");
|
||||
}
|
||||
|
||||
try {
|
||||
return { sessionIdSigned: await startSession(user.id, ip, userAgent) };
|
||||
} catch (e) {
|
||||
if (e instanceof IntegrityError && e.message === "Session already exists") {
|
||||
error(403, "Already logged in");
|
||||
}
|
||||
throw e;
|
||||
}
|
||||
return { sessionIdSigned: await startSession(user.id, ip, userAgent) };
|
||||
};
|
||||
|
||||
export const logout = async (sessionId: string) => {
|
||||
@@ -115,8 +108,12 @@ export const verifySessionUpgradeChallenge = async (
|
||||
try {
|
||||
await upgradeSession(sessionId, client.id);
|
||||
} catch (e) {
|
||||
if (e instanceof IntegrityError && e.message === "Session not found") {
|
||||
error(500, "Invalid challenge answer");
|
||||
if (e instanceof IntegrityError) {
|
||||
if (e.message === "Session not found") {
|
||||
error(500, "Invalid challenge answer");
|
||||
} else if (e.message === "Session already exists") {
|
||||
error(403, "Already logged in");
|
||||
}
|
||||
}
|
||||
throw e;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user