javascript - 如何为此 serverjs 创建 totp 验证器表单
问题描述
我有一个 JavaScript 任务,但我对此一无所知。我找到了一个有助于解决我的问题的视频,但现在我必须创建一个表格来检查所有结果。在邮递员中,我输入了令牌并通过了。
const express = require('express');
const speakeasy = require('speakeasy');
const QRCode = require('qrcode');
const app = express();
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
const cod = 123
const secret = speakeasy.generateSecret();
console.log(secret);
app.get('/', (req, res) => {
res.send('hello');
})
app.get('/twofactorsetup', (req, res) => {
QRCode.toDataURL(secret.otpauth_url, (err, data_url) => {
res.send(
`<h1>setup authenticator</h1>
<img src=${data_url} >
<br>Manually: ${secret.base32}`
);
})
})
app.post('/verify', (req, res) => {
token = req.body.userToken;
const pass = req.body.pass;
token = token - cod;
console.log('first');
console.log(token);
token = token + pass
console.log('sec');
console.log(token);
const verfied = speakeasy.totp.verify({ secret: secret.base32, encoding: 'base32', token: token });
res.json({ success: verfied });
})
app.listen(3000, () => {
console.log('Server started ISZZI');
});
我应该怎么办?任何视频或教程谢谢!
解决方案
推荐阅读
- linux - 试图让脚本适用于磁盘检查和 Deluge
- python - 如何消除从 python beautifulsoup 中刷新的 url 读取的重复数据
- netlogo - 如何在 netlogo 中使用逗号从列表中分隔值?
- python - 嵌套for循环不重置python
- r - 如果没有跟随字符串但另一个字符串,则在 R 中进行模式匹配
- c - 为什么结构中需要指针?
- java - 在不破坏流管道的情况下引用前面的 Java 流步骤?
- azure - 需要帮助揭开 Microsoft.Graph 4.0.0 中引入的新功能的神秘面纱
- python - 使用 selenium 添加 cookie 时,站点中断
- sql - 从 Postgrades 数据库中的选择命令的输出中删除括号