首页 > 解决方案 > 如何为此 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');
});

我应该怎么办?任何视频或教程谢谢!

标签: javascriptnode.js

解决方案


推荐阅读