Node.js SSL身份验证

Node.js SSL身份验证,node.js,authentication,ssl,Node.js,Authentication,Ssl,我设置了一个HTTPS node.js服务器,但在理解如何正确使用它时遇到了问题 app.get('/test', function(req, res){ console.log('got in'); if(req.client.authorized){ res.send(200, 'certified'); }else{ res.send(200, 'idk who you are'); } }); require('https

我设置了一个HTTPS node.js服务器,但在理解如何正确使用它时遇到了问题

app.get('/test', function(req, res){
    console.log('got in');
    if(req.client.authorized){
        res.send(200, 'certified');
    }else{
        res.send(200, 'idk who you are');
    }
});

require('https').createServer({
    key: fs.readFileSync('key.pem'),
    cert: fs.readFileSync('cert.pem'),
    requestCert: true,
    rejectUnauthorized: false
}, app).listen(8080);
要在我的服务器上获得“授权”,客户端必须做什么

我可以浏览到

https://localhost:8080/test
它告诉我我的证书不可信(没关系,SSL现在是自签名的)。无论如何我都会继续,但我总是转到“idk who you is”,这意味着SSL身份验证失败

我很确定我在这里错过了一步


另外,如果这很重要,我正在设置SSL以用于加密。

由于客户端提供的证书未经可信证书颁发机构签名,
authorized
属性为false。如果as
rejectUnauthorized
为false,则不会拒绝连接,而是将其标记为un-authorized

看这里-

req.client.authorized是什么?也许它是未定义的,这就是为什么你总是得到“idk你是谁”。它会记录为false