Запретить несанкционированный доступ к маршруту генерации QR-кодаJavascript

Форум по Javascript
Ответить
Anonymous
 Запретить несанкционированный доступ к маршруту генерации QR-кода

Сообщение Anonymous »

Сейчас я работаю над системой двухфакторной аутентификации. Я генерирую QR-код в формате Base64 на серверной стороне. Я получаю это с помощью маршрута app.get.
Проблема в том, что любой пользователь, знающий URL-адрес, может получить этот код Base64. В моем случае: http://localhost:3000/generate-qr/User123
Как я могу запретить пользователю доступ к этому URL-адресу? Каков наиболее эффективный способ предотвратить это?
Это мой код JavaScript (Backend):
app.get('/generate-qr/:username', async (req, res) => {
const {username} = req.params;

try {
const connection = await connectToDatabase();

const [rows] = await connection.execute('SELECT secret_key FROM authenticator.members WHERE account_name = ?', [username]);

if (rows.length === 0) {
return res.status(404).json({error: 'User not found'});
}

const secret_key = rows[0].secret_key;
const service = 'UniversalCW';
const oneTimePasswordAuthenticator = authenticator.keyuri(username, service, secret_key);

qrcode.toDataURL(oneTimePasswordAuthenticator, (error, imageURL) => {
if (error) {
console.error('Error with QR code:', error);
return res.status(500).json({error: 'Error generating QR code'});
}
res.json({qrcode: imageURL});
});
} catch (error) {
console.error(error);
res.status(500).json({error: 'Internal server error'});
}
});


Подробнее здесь: https://stackoverflow.com/questions/793 ... tion-route
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»