ваше сообщение коммита

This commit is contained in:
2025-11-27 18:17:58 +03:00
parent 92e0864a41
commit 6dacba2786
5 changed files with 227 additions and 357 deletions

View File

@@ -55,6 +55,7 @@ class AuthService {
}
// Проверяем подпись через SiweMessage.verify()
// SiweMessage.verify() уже гарантирует, что адрес из подписи совпадает с адресом в сообщении
const { success, data } = await message.verify({ signature });
// Логируем для отладки
@@ -63,23 +64,15 @@ class AuthService {
logger.info(`[verifySignature] Verified address from signature: ${data.address}`);
logger.info(`[verifySignature] Address in message: ${message.address}`);
logger.info(`[verifySignature] Expected address (from request): ${normalizedAddress}`);
logger.info(`[verifySignature] Signature address matches message address: ${ethers.getAddress(data.address) === ethers.getAddress(message.address)}`);
logger.info(`[verifySignature] Signature address matches request address: ${ethers.getAddress(data.address) === normalizedAddress}`);
}
logger.info(`[verifySignature] Signature: ${signature}`);
if (!success) {
logger.error(`[verifySignature] SIWE verification failed. Success: ${success}, Data: ${JSON.stringify(data)}`);
return false;
}
// КРИТИЧЕСКАЯ ПРОВЕРКА: Адрес из подписи должен совпадать с адресом в сообщении
if (data && message.address && ethers.getAddress(data.address) !== ethers.getAddress(message.address)) {
logger.error(`[verifySignature] КРИТИЧЕСКАЯ ОШИБКА: Адрес из подписи (${data.address}) не совпадает с адресом в сообщении (${message.address})!`);
return false;
}
// Сравниваем нормализованные адреса: адрес из подписи должен совпадать с адресом из запроса
// Проверяем, что адрес из подписи совпадает с адресом из запроса
// (SiweMessage.verify() уже проверил соответствие подписи и сообщения)
const addressesMatch = data && ethers.getAddress(data.address) === normalizedAddress;
if (!addressesMatch) {
logger.error(`[verifySignature] Адрес из подписи (${data.address}) не совпадает с адресом из запроса (${normalizedAddress})!`);