mirror of
https://github.com/kmc7468/arkvault.git
synced 2025-12-16 06:58:46 +00:00
암호 키 등록 챌린지 처리 방식을 세션 업그레이드 챌린지 처리 방식과 동일하게 변경
This commit is contained in:
@@ -8,8 +8,7 @@ import {
|
||||
getUserClient,
|
||||
setUserClientStateToPending,
|
||||
registerUserClientChallenge,
|
||||
getUserClientChallenge,
|
||||
markUserClientChallengeAsUsed,
|
||||
consumeUserClientChallenge,
|
||||
} from "$lib/server/db/client";
|
||||
import { IntegrityError } from "$lib/server/db/error";
|
||||
import { verifyPubKey, verifySignature, generateChallenge } from "$lib/server/modules/crypto";
|
||||
@@ -81,15 +80,11 @@ export const verifyUserClient = async (
|
||||
answer: string,
|
||||
answerSig: string,
|
||||
) => {
|
||||
const challenge = await getUserClientChallenge(answer, ip);
|
||||
const challenge = await consumeUserClientChallenge(userId, answer, ip);
|
||||
if (!challenge) {
|
||||
error(403, "Invalid challenge answer");
|
||||
} else if (challenge.userId !== userId) {
|
||||
error(403, "Forbidden");
|
||||
}
|
||||
|
||||
await markUserClientChallengeAsUsed(challenge.id);
|
||||
|
||||
const client = await getClient(challenge.clientId);
|
||||
if (!client) {
|
||||
error(500, "Invalid challenge answer");
|
||||
@@ -97,7 +92,7 @@ export const verifyUserClient = async (
|
||||
error(403, "Invalid challenge answer signature");
|
||||
}
|
||||
|
||||
await setUserClientStateToPending(userId, challenge.clientId);
|
||||
await setUserClientStateToPending(userId, client.id);
|
||||
};
|
||||
|
||||
export const getUserClientStatus = async (userId: number, clientId: number) => {
|
||||
|
||||
Reference in New Issue
Block a user