ваше сообщение коммита
This commit is contained in:
@@ -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})!`);
|
||||
|
||||
Reference in New Issue
Block a user