fix: clear consumed Telegram challenges after link changes

This commit is contained in:
2026-09-06 14:53:35 +03:00
parent 283bfe5990
commit 37fb7b0366
6 changed files with 43 additions and 12 deletions
+1 -1
View File
@@ -921,7 +921,7 @@ const server = http.createServer(async (req, res) => {
}
const bulunan=await linker.link(user.email,body.kod,kodIleBagla);
return json(res, 200, { success: true, ad: bulunan.ad });
} catch (e) { return json(res,e.kod==='VERSION_CONFLICT'?409:e.status||502,{success:false,error:e.message}); }
} catch (e) { return json(res,e.kod==='VERSION_CONFLICT'?409:e.status||502,{success:false,error:e.message,kod:e.kod}); }
}
return json(res,405,{success:false,error:'Desteklenmeyen metot.'});
}
+1 -1
View File
@@ -5,7 +5,7 @@ export function createTelegramLinker(store,clock=Date.now) {
const snapshot=store.getDataSnapshot(email),value=snapshot.veri.telegram;
if(typeof code!=='string'||!/^[a-f0-9]{48}$/.test(code)||value?.challengeHash!==digest(code)||
!Number.isFinite(value.expiresAt)||clock()>=value.expiresAt)
throw Object.assign(new Error('Bağlama kodu geçersiz veya süresi dolmuş. Yeni kod oluşturun.'),{status:400});
throw Object.assign(new Error('Bağlama kodu geçersiz veya süresi dolmuş. Yeni kod oluşturun.'),{status:400,kod:'TELEGRAM_CHALLENGE_INVALID'});
return {value,revision:snapshot.revisions.telegram ?? null};
}
return {