使用节点JS

时间:2019-12-04 09:45:40

标签: node.js kerberos

我正在尝试通过节点JS中的kerberos使用身份验证登录,但是它只是显示错误。

这是错误:提供了无效的令牌:未知错误

如何使用带有节点JS的kerberos获得有效的令牌?

app.get('/',  (req, res) => {
    var auth = req.headers['authorization'];
    if(auth) {
        var token = auth.replace("Basic ", "").trim();
        kbServer.step(token).then(serverResponse => {
            res.setHeader('WWW-Authenticate', 'Negotiate ' + kbServer.response);
            if(kbServer.contextComplete && kbServer.username){
                return res.end(`Hello ${kbServer.username}!`);
            } else {
                res.statusCode = 401;
                return res.end(' ');
            }
        }).catch(err => {
            res.statusCode = 500;
            res.end(err.message);
        }); 
    } else {
        res.statusCode = 401;
        res.setHeader('WWW-Authenticate', 'Negotiate');
        res.setHeader('WWW-Authenticate', 'Basic realm="REALM.COM"');
        return res.end('ERROR');
    }
});

0 个答案:

没有答案